1.python 字典
查询复杂度:O(1)
存储方法:哈希表+开放寻址法
开放寻址法处理hash值冲突:
优点:更容易进行序列化操作,适用于记录总数已知
缺点:1.不适用于记录总数未知的情况;2.探测寻址可能计算成本过高;3.可能存在空槽,浪费内存;删除记录较为麻烦。
2.java HashMap
查询复杂度:O(1)
存储方法:数组+链表
链表法处理hash值冲突:
优点:
1.适用于记录总数未知。
2.不会造成内存浪费。
3.删除记录比较方便
缺点:
1.hash表的跳转访问也会带来额外开销;
2.不容易进行序列化操作。
初始容量:
dic:初始容量默认为8,加载因子为2/3;
HashMap:初始容量为16,加载因子为0.75.