python _—— 使用hash函数实现一种类似字典的简易hash存储结构

使用hash函数实现一种类似字典的简易hash存储结构:

import random
import time

s_list1 = list(range(100_0000))

random.shuffle(s_list1)  #  随机打乱列表

v_list = random.sample(range(100_0000), 100)  # 随机采样100个元素

# hash 表
sub_list = [[] for _ in range(100)] # [[, ], [, ], ...]
for v in s_list1:
    sub_list[hash(v)%100].append(v)

s_dict = dict()
for v in s_list1:
    s_dict[v] = v

a_time = time.time()
for v in v_list:
    s_list1.index(v)
b_time = time.time()
for v in v_list:
    for v2 in s_list1:
        if v2 == v:
            break
c_time = time.time()
for v in v_list:
    for v2 in sub_list[hash(v)%100]:
        if v2 == v:
            break
d_time = time.time()
for v in v_list:
    x = s_dict[v] + 0
    # s_dict[v]
    # pass
e_time = time.time()


# print(b_time - a_time, c_time - b_time, d_time - c_time)
print("标准库实现的顺序查找index方法耗时:", b_time - a_time)
print("自定义实现的顺序查找index方法耗时:", c_time - b_time)
print("自定义hash方法实现的index方法耗时:", d_time - c_time)
print("标准库hash表实现的index方法耗时:", e_time - d_time)



image

posted on 2025-12-10 17:00  Angry_Panda  阅读(1)  评论(0)    收藏  举报

导航