哈希去重算法说一下算法思想,最好有伪代码

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 16:25:38
哈希去重算法说一下算法思想,最好有伪代码
xS[OQ+ I }i\Pb! "²gΜᐶ}hd9}37H:ZY۫TN scVF}X'1l;ܼdoE3?<37wiR%yefKnSDqq[=ʌyrMSUVx:͇oS3hTE~cOU' /h_2LH*9<,\\5G<ɓ &O-4@0+G * uWJ4~ȣ>0(1m2^&UdׯTM8SU iJl(20դS^.7{Wv^*rmE=-m)Q7: !ۢ>Nz `K$/D/htP̘rBw[l6QeMY"o 3Cv~e퍄fL~ON}O |ß>CZY3ywJtrkZn\~Ҋ/%~#twDJP!}e p#tJ*j~i$ '1\

哈希去重算法说一下算法思想,最好有伪代码
哈希去重算法
说一下算法思想,最好有伪代码

哈希去重算法说一下算法思想,最好有伪代码
你说的是在广搜中的去重吧,那就是弄一个哈希表,把每步搜出来的结果hash一下,然后存在hash表中,如果发现要存的地方已经有了,如果相同,就不存,不同,就用链表法把他们链起来.
具体不好表达,或是说我表达能力有限,举个简单例子.
我有几个数,{1,2,3,4,5,6,7,8,9,10,1,12,13}
定义一个hash函数 f(x) = x (如果x范围很小,可以直接这么弄,这样不会引起冲突,否则需要弄取模之类的hash函数了,具体你还是要去看看书之类的)
那么定义个hash表
hash=array[1..n]of boolean , n为最大范围
那么每次加入的时候直接判断hash[x]是不是真就可以了,是真的话,就是重了
否则,记录hash[x]为真