散列表

2018-07-11  本文已影响0人  愤怒小鸟飞呀飞
散列表

以电子邮件地址簿为例,每个名字(key)对应一个邮件地址,用散列函数计算每个key在散列表中的位置(这里使用key的所有字符的ASCII码值相加),如图:

image.png

代码实现参见:https://draveness.me/hashtable

问题:哈希表与NSDictionary的区别与联系
NSDictionary是使用hash表来实现key和value之间的映射和存储的,hash函数设计的好坏直接影响数据的查找访问效率,数据在hash表中分布越均匀,其访问效率越高。而在Objective-C中,通常都是利用NSString 来作为键值,其内部使用的hash函数也是通过使用 NSString对象作为键值来保证数据的各个节点在hash表中均匀分布。

NSDictionary实现原理:https://blog.csdn.net/linshaolie/article/details/41494303
散列表原理:https://segmentfault.com/a/1190000008556414
哈希表 概念 https://www.jianshu.com/p/88dfc8f405ab

上一篇 下一篇

猜你喜欢

热点阅读