查一个根本不在表里的
同一个 get,找不到时要返回 没这个人,不能报错。 查 99 号,输出结果。
阅读更多 →
实现查找:到了那一格还要再比一次
补全 get:算出槽位之后,在那一格的列表里挨个比键,找到就返回名字。 查 15 号,补全后输出查到的名字。
阅读更多 →
实现链地址法的插入
补全 put:算出槽位,把 (key, name) 追加到那一格的列表里。 五个人全放进去之后,输出第 7 格里有几个。
阅读更多 →
第 7 格里挤了几个
五个人按学号放进一张 8 格的表,每格挂一个列表。运行下面这段程序: def new_table(cap): return [[] for _ in range(cap)] table =
阅读更多 →
最坏情况会退化成什么
所有键都撞进同一格时,查找的复杂度退化成【0】。
阅读更多 →
链地址法什么时候会变慢
链地址法退化的场景是【0】。
阅读更多 →
查找时到了那一格之后
算出槽位、到了那一格之后,还要【0】。
阅读更多 →
链地址法怎么处理撞车
链地址法的做法是【0】。
阅读更多 →
把四个人各自安排到自己那一格
补全代码:把四个人按学号放进一张 8 格的表(table[槽位] = 名字)。 放完之后输出第 7 格坐的是谁。
阅读更多 →
写一个定位函数
补全 slot_of:给出学号和格子总数,返回该坐第几格。 补全后输出 17 号在 8 格表里坐第几格。
阅读更多 →