其他分享
首页 > 其他分享> > Acwing Arithmetic Learning:数据结构(3)

Acwing Arithmetic Learning:数据结构(3)

作者:互联网

数据结构(3) acwing

目录

1.hash表

哈希函数概念:image-20210627085650592

(1)x mod 10 ^5 即缩小了值域 {模的数最好取成“质数”:这样冲突的概率最小}

(2)解决冲突

  • 求大于i的第一个质因子

image-20210627092139236

  1. 存储结构

    • 开放寻址法

      (数组开辟长度为2~3倍){涉及到操作:添加、查询、删除(只是做一个标记,并不真正删除)}

      • image-20210627125504684

        image-20210627125543948

        0x3f3f3f3f是一个大于10^9的数,在memset()函数中,其按照字节进行存储,因为h为int型数组,占用4个字节,因此写一个0x3f就够了(一个字节是0x3f)

    • 拉链法

      • image-20210627090816211
      • image-20210627123514006
  2. 字符串哈希

核心是:将一个字符串用k进制的形式,看做是一个数字

3.STL

image-20210629153445808

1.vector

倍增:系统为某程序分配空间时,所需时间与空间大小无关,只与请求次数有关

2.string

初始下标为0

image-20210629170136741

3.queue

4.priority_queue(就是堆)

默认是大根堆,转成小根堆的方式

5.stack

6.deque(双端队列)--basically not use

相当于加强版 vector

image-20210629172303163

7.set、multiset、map、multimap

size()、empty()、clear()、begin()/end() ++,-- 返回前驱和后继,时间复杂度O(logn)

image-20210629174417136

image-20210629180017442

image-20210629183927944

标签:multimap,Learning,元素,empty,哈希,字符串,size,Arithmetic,Acwing
来源: https://www.cnblogs.com/happy-prince/p/14951862.html