budong 发表于 2009-11-3 21:18:33

开放地址法删除关键字的操作

小弟不才,还是自学。请不要笑话小弟的上进之心。
在开放地址法里面 ,插入元素时 哈希表已经是排好序了的吧?

删除一个元素的时候 ,算法导论上说 , 不能直接的删除元素 ,我的理解是这样(我是自学的,有很大的偏差请见谅): 既然开放地址法是将所有的关键字都存放在哈希表的槽位里面,不存在链表,那么当排完序的哈希表之后是顺序的,从槽中i中删除关键元素时的时候 ,用NIL表示就可以了 。不存在算法导论上面说的: 在插入某关键字K的探查过程中 ,发现i被占用 ,k则插入到后面的位置上。在将k的关键字删除之后, 就无法对k进行检索 (这句话很是不明白) 。哈希表已经是顺序的,从槽中删除i,对表没什么影响 ,对后来的插入操作也没有影响 。

它为什么要那么说呢 很郁闷啊

〇〇 发表于 2009-11-4 14:13:59

budong

silitex 发表于 2009-11-4 15:05:15

这个问题感觉在CSDN上面的数据结构上面提问,帮助回答的人会多一些!说实话,你问的确是很难看懂!或者可以重新组织一下语言的说!

budong 发表于 2009-11-4 18:13:30

开放地址法 是处理冲突用的吗? 那在用开放地址法之前, 哈希表里的位置是不是已经被占用了?
页: [1]
查看完整版本: 开放地址法删除关键字的操作