第 7 格里挤了几个

五个人按学号放进一张 8 格的表,每格挂一个列表。运行下面这段程序: def new_table(cap): return [[] for _ in range(cap)] table = new_table(8) rows =

开始练习 →

实现链地址法的插入

补全 put:算出槽位,把 (key, name) 追加到那一格的列表里。 五个人全放进去之后,输出第 7 格里有几个。

开始练习 →

实现查找:到了那一格还要再比一次

补全 get:算出槽位之后,在那一格的列表里挨个比键,找到就返回名字。 查 15 号,补全后输出查到的名字。

开始练习 →

查一个根本不在表里的

同一个 get,找不到时要返回 没这个人,不能报错。 查 99 号,输出结果。

开始练习 →

开放寻址怎么处理撞车

开放寻址的做法是【0】。

开始练习 →

线性探测的下一格怎么算

线性探测里,第 i 格的下一格是【0】。

开始练习 →

开放寻址删东西为什么麻烦

开放寻址下直接把格子清空,问题是【0】。

开始练习 →

北辰探了几次才坐下

8 格的表,按 17、24、15、23 的顺序用线性探测放人。运行下面这段程序,它数的是"往后挪了几次": table = [None] * 8 probes = 0 for key in [17, 24, 15, 23

开始练习 →

北辰最后坐在哪一格

同样的四个人、同样的顺序。运行下面这段程序: table = [None] * 8 for key in [17, 24, 15, 23]: i = key % 8 while table[i] is not None:

开始练习 →

实现线性探测的插入

补全 put:算出槽位,那一格有人就往后绕着找空格。 按 17、24、15、23 的顺序放完之后,输出 23 号最后坐在哪一格。

开始练习 →