当前位置:网站首页>Deng Junhui's notes on data structure and algorithm learning - Chapter 9
Deng Junhui's notes on data structure and algorithm learning - Chapter 9
2020-11-09 08:20:00 【osc_0m0d4mbq】
List of articles
day58
Chapter nine The dictionary
9. The dictionary
9.b Hash principle
Hashing- hash
The data comes from a fairly large space , But the actual data to be stored and organized is a very small subset of it , Space efficiency is extremely low
Compress space
The pigeon nest problem , take x From a larger definition domain , Mapping to a smaller range of values , There are ways to reduce conflict ( Design better hash function or increase hash table length M), But it can't be avoided ( How to solve ?)
9.c Hash function
gcd: The greatest common factor is 1
Take the middle bit , It can make the influence of each digit of the original key code closer to each other , Here's the picture , Square operations can be decomposed into addition operations
The more random the hash function is , The more irregular , The better .
key It may not be an integer , You need to convert it to hashcode, Do it again. , Here's the picture
It is necessary to , If you use a simple calculation method , It's easy to have hash conflicts
9.d Conflict
9.d1 Hash resolves conflicts 1
Skip when searching , Insert directly when inserting .
9.d2 Hash resolves conflicts 2
Closed addressing vs Open addressing
The linear heuristics described above , It's too close to each other , There will be a lot of unnecessary conflicts . You can open the space properly
Suppose the size of a cache is 1KB, Only the pointer is stored in the bucket (4 byte ), Well, unless 16 Secondary hash conflict , To make the cache invalid , Need extra I/O.
b+a≥2, yes M The nontrivial factor of , This is related to M Contradict prime numbers .
For some primes ( for example 7,11) The long table , The two-way search chain works , Some primes ( for example 5,13) The effect of the surface length is not good .
9.e bucket / Count sorting
among n Is the number of elements ,[0,M) Is the element range
Where the red line is the integral of the blue line
Linear scan over and over again count[], Scan again count[] obtain accum[], You can sort in linear time .
版权声明
本文为[osc_0m0d4mbq]所创,转载请带上原文链接,感谢
边栏推荐
猜你喜欢
Installation record of SAP s / 4hana 2020
Introduction to nmon
The difference between GDI and OpenGL
AQS 都看完了,Condition 原理可不能少!
Do you know how the computer starts?
老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”
上线1周,B.Protocal已有7000ETH资产!
Several rolling captions based on LabVIEW
Have you ever thought about why the transaction and refund have to be split into different tables
5 个我不可或缺的开源工具
随机推荐
Get the first cover image of video through canvas
Talk about my understanding of FAAS with Alibaba cloud FC
第五章编程
How to reduce the resource consumption of istio agent through sidecar custom resource
程序员的十年之痒
B. protocal has 7000eth assets in one week!
Depth first search and breadth first search
EasyNTS上云网关设备在雪亮工程项目中的实战应用
Leetcode-11: container with the most water
AQS 都看完了,Condition 原理可不能少!
How to get started with rabbitmq
20201108编程练习——练习3
操作系统之bios
Travel notes of csp-s 2020
华为HCIA笔记
Windows环境下如何进行线程Dump分析
How does FC game console work?
六家公司CTO讲述曾经历的“宕机噩梦”
The vowels in the inverted string of leetcode
C + + adjacency matrix