python实现哈希表示例代码

来源:互联网 发布:复利源码下载 编辑:程序博客网 时间:2024/04/30 18:24

一个用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 key01a=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
0 0
原创粉丝点击