Loading

哈希表及其应用

基本概念

哈希表可以存储各种类型的数据,当我们从哈希表中查找所需要的数据时,理想情况是不经过任何比较,一次存取便能得到所查记录,那就必须在记录的存储位置和存储的数据之间建立一个确定的对应关系 f,使每个存储的数据和结构中一个唯一的存储位置相对应。(存储位置相当于数组的索引)

举例:

目的:存储一些整数在哈希表中;

假设哈希函数是 对101取余。

class hash_table:
    def __init__(self, size=101):
        self.size = size
        self.T = [LinkList() for _ in range(self.size)]

    def hash_fun(self, k):
        i = k % self.size
        return i

    def insert(self, obj):
        h = self.hash_fun(obj)
        if self.find(obj):
            print('Duplicated insert!!')
        else:
            self.T[h].append(obj)

    def find(self, obj):
        h = self.hash_fun(obj)
        return self.T[h].find(obj)

 

posted @ 2021-08-09 16:00  climber_dzw  阅读(195)  评论(0编辑  收藏  举报