Hash为啥翻译成散列?
今天突然有点意识,记录一下。
对于查找来说,数组肯定是最快的,O(1)找到。这得益于数组需要在内存开辟一片连续的空间,数据安稳地各“列”其位。但现实中往往得不到满足。随着内存空间的申请,产生越来越多的碎片,碎片也需要利用起来啊,这时候就是hash的用武之地了。比如内存中有10片不连续的空间,那想快速的查找数据的话,我们只能通过一个函数把数据“散着列”在各个分散的空间中,以达到逻辑上的连续,实现快速的定位。
所以,对比起数据连续的列在内存空间中,hash是分散着将数据列在分散的内存空间中,所以名之为“散列”。