当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- 23 pictures, take you to the recommended system
- Graph node classification and message passing
- Linked blocking queue based on linked list
- Review of API knowledge
- The vowels in the inverted string of leetcode
- Linked list
- How does FC game console work?
- Commodity management system -- integrate warehouse services and obtain warehouse list
- A few lines of code can easily transfer traceid across systems, so you don't have to worry about losing the log!
- Windows环境下如何进行线程Dump分析
猜你喜欢
C / C + + Programming Notes: pointer! Understand pointer from memory, let you understand pointer completely
2020,Android开发者打破寒冬的利器是什么?
App crashed inexplicably. At first, it thought it was the case of the name in the header. Finally, it was found that it was the fault of the container!
RabbitMQ脑裂问题解决方案调查
Chapter 5 programming
OpenGL ES 框架详细解析(八) —— OpenGL ES 设计指南
服务器性能监控神器nmon使用介绍
上线1周,B.Protocal已有7000ETH资产!
The difference between GDI and OpenGL
Three ways to operate tables in Apache iceberg
随机推荐
Huawei HCIA notes
20201108编程练习——练习3
华为HCIA笔记
2 普通模式
For the first time open CSDN, this article is for the past self and what is happening to you
API部分的知识点复习
The difference between GDI and OpenGL
Oschina plays disorderly on Monday
Combine theory with practice to understand CORS thoroughly
1.操作系统是干什么的?
How does pipedrive support quality publishing with 50 + deployments per day?
写时复制集合 —— CopyOnWriteArrayList
FC 游戏机的工作原理是怎样的?
A few lines of code can easily transfer traceid across systems, so you don't have to worry about losing the log!
Application of cloud gateway equipment on easynts in Xueliang project
Graph node classification and message passing
Operation 2020.11.7-8
Do you know how the computer starts?
亚马逊的无服务器总线EventBridge支持事件溯源 - AWS
object