您的位置:首页 > 编程语言 > Python开发

python实现哈希表示例代码

2014-02-07 15:02 846 查看
一个用python实现的哈希表,处理冲突的方法是开放地址法,冲突表达式为Hi=(H(key)+1)mod m,m为表长。

迟点再实现更难的拉链法

代码:

#! /usr/bin/env python
#coding=utf-8
#site www.jbxue.com
#实现哈希表(线性地址再散列)
def ChangeKey(key,m,di):
key01=(key+di) % m
return key01
a=raw_input("Please entry the numbers:\n").split()
m=len(a)
dict01={}
for i in a:
key=int(i)%m
if "%s"%key in dict01:
NewKey=ChangeKey(key,m,1)
while "%s"%NewKey in dict01:         #因为下面的dict01的key值是以字符串来保存,因此这里作判断时也要用字符串格式
NewKey=ChangeKey(NewKey,m,1)
dict01["%s"%NewKey]=int(i)
else:
dict01["%s"%key]=int(i)
print dict01
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: