哈希表的实现

复制代码
 1 from 数据结构.链表的实现 import Link
 2 
 3 
 4 # 类似于集合的哈希表
 5 class HashTable(object):
 6     def __init__(self, size=100):
 7         self.size = size
 8         self.table = [Link() for _ in range(self.size)]
 9 
10     def h(self, k):
11         return k % self.size
12 
13     def remove(self, k):
14         i = self.h(k)
15         self.table[i].del_item(k)
16 
17     def insert(self, k):
18         i = self.h(k)
19         if self.find(k):
20             print('Duplicated insert!', k)
21         else:
22             self.table[i].ins_tail(k)
23 
24     def find(self, k):
25         i = self.h(k)
26         return self.table[i].find(k)
27 
28     def __str__(self):
29         return ','.join(map(str, self.table))
30 
31 
32 if __name__ == '__main__':
33     ht = HashTable()
34     ht.insert(1)
35     ht.insert(2)
36     ht.insert(3)
37     ht.insert(102)
38     ht.insert(102)
39     print(ht)
40     ht.remove(1)
41     print(ht)
复制代码

 

posted @   Avery_rainys  阅读(41)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示