我们可能想到每个单词会占用一个数组单元,那么数组的大小是5000,同时可以用数组下标存取单词,这样设想很完美,但是数组下标和单词怎么建立联系呢?
...那么我们想到的是需要产生一种依赖关键字的探测序列,而不是每个关键字都一样,那么,不同的关键字即使映射到相同的数组下标,也可以使用不同的探测序列。
...如果数组容量为13, 质数,探测序列最终会访问所有单元。即0,5,10,2,7,12,4,9,1,6,11,3,一直下去,只要表中有一个空位,就可以探测到它。
...找到初始单元需要O(1)的时间级别,而搜索链表的时间与M成正比,M为链表包含的平均项数,即O(M)的时间级别。
5、桶
另外一种方法类似于链地址法,它是在每个数据项中使用子数组,而不是链表。...在开发地址法中,把冲突的数据项放在数组的其它位置;在链地址法中,每个单元都包含一个链表,把所有映射到同一数组下标的数据项都插入到这个链表中。