数据结构与算法上机作业
第五章查找
一、选择题
1、若构造一棵具有n个结点的二叉排序树,在最坏情况下,其高度不超过 B 。 A. n/2 B. n C. (n+1)/2 D. n+1 2、分别以下列序列构造二叉排序数(二叉查找树),与用其他3个序列所构造的结果不同的是 C : A. (100, 80, 90, 60, 120, 110, 130) B. (100, 120, 110, 130, 80, 60, 90) C. (100, 60, 80, 90, 120, 110, 130) D. (100, 80, 60, 90, 120, 130, 110) 3、不可能生成下图所示的二叉排序树的关键字的序列是 A 。 A. 4 5 3 1 2 B. 4 2 5 3 1 C. 4 5 2 1 3 D. 4 2 3 1 5
425 4、在二叉平衡树中插入一个结点造成了不平衡,设最低的不平衡点为A,并已知A的左孩子的平衡因子为0,右孩子的平衡因子为1,则应作 C 型调整使其平衡。 A. LL B. LR C. RL D. RR 5、一棵高度为k的二叉平衡树,其每个非叶结点的平衡因子均为0,则该树共有 C 个结点。 A. 2k-1-1 B. 2k-1+1 C. 2k-1 D. 2k+1
6、具有5层结点的平衡二叉树至少有 A 个结点。 A. 12 B. 11 C. 10 D. 9
7、下面关于B-和B+树的叙述中,不正确的是 C 。 A. B-树和B+树都是平衡的多叉树 B. B-树和B+树都可用于文件的索引结构 C. B-树和B+树都能有效地支持顺序检索 D. B-树和B+树都能有效地支持随机检索
8、下列关于m阶B-树的说法错误的是 D 。 A. 根结点至多有m棵子树 B. 所有叶子结点都在同一层次 C. 非叶结点至少有m/2(m为偶数)或m/2+1(m为奇数)棵子树 D. 根结点中的数据是有序的
9、下面关于哈希查找的说法正确的是 C 。 A. 哈希函数构造得越复杂越好,因为这样随机性好,冲突小 B. 除留余数法是所有哈希函数中最好的 C. 不存在特别好与坏的哈希函数,要视情况而定 D. 若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单地将该元素删去即可
10、与其他查找方法相比,散列查找法的特点是 C 。 A. 通过关键字的比较进行查找
13 B. 通过关键字计算元素的存储地址进行查找 C. 通过关键字计算元素的存储地址并进行一定的比较进行查找 D. 以上都不是
11、有一组关键字{8, 24, 16, 3, 12, 32, 51},采用除留余数法构造散列函数:H(key)=key mod 12,则将发生 次冲突。 A. 3 B. 4 C. 5 D. 6
12、有一个结点的关键字为3276012483,采用移位叠加法生成4位散列地址,则生成的地址为 B 。 A. 3482 B. 3583 C. 9018 D. 9019
二、填空题
1、在查找过程中有插入或删除元素操作的,称为 动态 查找。 2、一个无序序列可以通过构造一棵 二叉排序 树而变为一个有序序列,构造树的过程即为对无序序列进行排序的过程。
3、对于一棵二叉排序树,按 中根 方法遍历得出的结点序列是从小到大排列的。 4、对二叉排序树进行查找的方法是用待查找的值与根结点的键值进行比较,若比根结点的值小,则继续在 左 子树中查找。
5、AVL树为在构造二叉排序树时,为确保搜索的性能而保持树的平衡,保持平衡的方法为在构建AVL树时根据特定条件而进行LL, RR, LR, RL四种旋转操作,如对于下图的树,应该进行 RL RR 旋转。
2525193219322740274026新插入结点
新插入结点45
6、在m阶一棵B-树中,若在某个结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是 m-1 ;若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字的个数是 ?m/2? -1 。 7、127阶B-树中每个结点最多有 126 个关键字;除根结点外所有非终端结点至少有 棵子树;65阶B+树中,除根结点外所有非叶结点至少有 33 个关键字,最多有 65 棵子树
8、假设有k个关键字互为同义词(哈希值相同),若用线性探测再散列法把这k个关键字存入散列表中,至少要进行 k(k-1)/2 次探测。
9、在散列排序法中,折叠法的哈希函数可分为 移位法和分界法 两种类型。 10、散列法的填充因子= 表中填入的记录数 / 哈希表的长度 。
11、设散列函数H和关键字k1, k2,若k1不等于k2,而H(k1)=H(k2),则称这种现象为 冲突 。
12、在哈希函数H(key)=key % p中,p一般应取 不大于表长的质数或是不含20以下的质