当前位置:网站首页>The remainder operation is a hash function
The remainder operation is a hash function
2022-07-05 04:28:00 【Blue dye k9z】
Hash
Hashes are sometimes translated as hashes .
It is to input any length , Through the hash algorithm , Compressed to a fixed length of output .
- If you want to read and write quickly 100 Ten thousand data records , To achieve high-speed access , But due to the limitation of conditions , We are not able to accommodate 100 Continuous address space of 10000 records , What should I do .
- See if the system can provide several smaller continuous spaces , And each space can store a certain number of records .
- For example, we found 100 A smaller continuous space . in other words , These spaces are separated from each other , But the interior is continuous , And enough to hold 1 Ten thousand records are stored continuously , Then we can use the remainder and congruence theorem to design a hash function , And implement the structure of hash table .
- Suppose there are two records , Their record labels are 1 and 101.
- We put these models 100 Then the remainder is 1 Of , Store in No 1 In a free space .
- And so on , Set the remainder to 2 Of 2、102、202 etc. , Store in No 2 Two free spaces .
- such , We can change according to the fast number of the remainder , Group data , And store them in different address spaces .
- The remainder operation itself is very simple , Therefore, there is little increase in addressing time .
In order to increase the randomness of data hash , You can add a large random number to the formula MAX
Under the action of the new calculation formula , Will be allocated to different available space
Used MAX After this random number , Records allocated to the same space are more “ Random ”, It is more suitable for application scenarios that need to reshuffle the data , Such as encryption algorithm 、MapReduce Data distribution in 、 High speed query and location of records, etc .
encryption
Suppose you want to encrypt a set of three digits , Then set such an encryption rule :
- Start with each three digit number 、 Tens and hundreds , Add a large random number .
- Then divide the number on each by 7, Replace the original... With the remainder 、 Ten 、 Hundreds of digits .
- Finally, the first and third bits are exchanged .
This is a basic encryption transformation process .
If say , We need to encrypt 625, Random number selection 590127.
Na Bai 、 Ten 、 Add this random number to each bit , It becomes 590133 590129 590132, Divide the three by 7 Find the remainder and get 5 1 4.
The final figure is 415.
If the encryption person knows the encryption rules , Then we can calculate that the original data is 625.
( Tips :590127%7=6)
边栏推荐
- NetSetMan pro (IP fast switching tool) official Chinese version v5.1.0 | computer IP switching software download
- 托管式服务网络:云原生时代的应用体系架构进化
- 美国5G Open RAN再遭重大挫败,抗衡中国5G技术的图谋已告失败
- 【thingsboard】替换首页logo的方法
- Threejs Internet of things, 3D visualization of farm (III) model display, track controller setting, model moving along the route, model adding frame, custom style display label, click the model to obt
- Function (error prone)
- How to realize real-time audio and video chat function
- Hexadecimal to decimal
- Judge whether the stack order is reasonable according to the stack order
- Is "golden nine and silver ten" the best time to find a job? Not necessarily
猜你喜欢
Moco is not suitable for target detection? MsrA proposes object level comparative learning target detection pre training method SOCO! Performance SOTA! (NeurIPS 2021)...
Threejs Internet of things, 3D visualization of farm (III) model display, track controller setting, model moving along the route, model adding frame, custom style display label, click the model to obt
The development of mobile IM based on TCP still needs to keep the heartbeat alive
[phantom engine UE] realize the animation production of mapping tripod deployment
函數(易錯)
Longyuan war "epidemic" 2021 network security competition web easyjaba
CSDN正文自动生成目录
托管式服务网络:云原生时代的应用体系架构进化
Is there a sudden failure on the line? How to make emergency diagnosis, troubleshooting and recovery
【虚幻引擎UE】打包报错出现!FindPin错误的解决办法
随机推荐
取余操作是一个哈希函数
windows下Redis-cluster集群搭建
level17
Threejs rendering obj+mtl model source code, 3D factory model
Neural networks and deep learning Chapter 2: machine learning overview reading questions
[moteur illusoire UE] il ne faut que six étapes pour réaliser le déploiement du flux de pixels ue5 et éviter les détours! (4.26 et 4.27 principes similaires)
Looking back on 2021, looking forward to 2022 | a year between CSDN and me
机器学习 --- 神经网络
Raki's notes on reading paper: soft gazetteers for low resource named entity recognition
level18
Invalid bound statement (not found) in idea -- problem solving
程序员应该怎么学数学
Fonction (sujette aux erreurs)
NetSetMan pro (IP fast switching tool) official Chinese version v5.1.0 | computer IP switching software download
【虚幻引擎UE】打包报错出现!FindPin错误的解决办法
mxnet导入报各种libcudart*.so、 libcuda*.so找不到
After the deployment of web resources, the navigator cannot obtain the solution of mediadevices instance (navigator.mediadevices is undefined)
MacBook安装postgreSQL+postgis
Advanced length of redis -- deletion strategy, master-slave replication, sentinel mode
Bit operation skills