11.1-1
从直接寻址表底部向上搜索,找到第一个非空槽即是最大元素。最坏情况下是
Θ(m)
。
11.1-2
位向量的每一位代表一个元素是否存在(用1和0表示)。为了修改或者查询位向量需要用到 &、| 等操作。
11.1-3
使用双链表来解决冲突,特别的对于搜索操作,题目也没说清楚就默认是返回第一个元素。
11.1-4
按照书上的提示,我们有一个类似于栈的数组
S
,其大小应该是字典元素的最大个数,另外还有一个
假设现在有一个关键字
k
存储在数组(我们取名为
另外由于数组
S
小于数组
现在对于SEARCH
,给一个关键字
对于INSERT
,假设关键字不在字典中,我们增加
top[S]
,然后
S[top[S]]=k,S′[top[S]]=k,T[k]=top[S]
。
对于DELETE
,假设关键字在字典中,我们打破“有效的循环”,然后填补删除操作的空缺即可。