Acwing Arithmetic Learning:数据结构(3)

时间:2021-06-29 22:32:36   收藏:0   阅读:37

数据结构(3) acwing

1.hash表

哈希函数概念:技术分享图片

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

(2)解决冲突

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

技术分享图片

  1. 存储结构

    • 开放寻址法

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

      • 技术分享图片

        技术分享图片

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

    • 拉链法

      • 技术分享图片
      • 技术分享图片
  2. 字符串哈希

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

3.STL

技术分享图片

1.vector

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

2.string

初始下标为0

技术分享图片

3.queue

4.priority_queue(就是堆)

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

5.stack

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

相当于加强版 vector

技术分享图片

7.set、multiset、map、multimap

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

技术分享图片

技术分享图片

技术分享图片

原文:https://www.cnblogs.com/happy-prince/p/14951862.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!