开放地址法删除关键字的操作
小弟不才,还是自学。请不要笑话小弟的上进之心。在开放地址法里面 ,插入元素时 哈希表已经是排好序了的吧?
删除一个元素的时候 ,算法导论上说 , 不能直接的删除元素 ,我的理解是这样(我是自学的,有很大的偏差请见谅): 既然开放地址法是将所有的关键字都存放在哈希表的槽位里面,不存在链表,那么当排完序的哈希表之后是顺序的,从槽中i中删除关键元素时的时候 ,用NIL表示就可以了 。不存在算法导论上面说的: 在插入某关键字K的探查过程中 ,发现i被占用 ,k则插入到后面的位置上。在将k的关键字删除之后, 就无法对k进行检索 (这句话很是不明白) 。哈希表已经是顺序的,从槽中删除i,对表没什么影响 ,对后来的插入操作也没有影响 。
它为什么要那么说呢 很郁闷啊 budong 这个问题感觉在CSDN上面的数据结构上面提问,帮助回答的人会多一些!说实话,你问的确是很难看懂!或者可以重新组织一下语言的说! 开放地址法 是处理冲突用的吗? 那在用开放地址法之前, 哈希表里的位置是不是已经被占用了?
页:
[1]