单项选择(2016年春程序员软考)

设有二叉排序树如下图所示,根据关键码序列【 】可构造出该二叉排序树。

A、30 20 10 40

B、30 40 20 10

C、30 20 40 10

D、30 40 10 20

答案解析

D根据二又排序树的定义,将新元素插入二叉排序树时,需要先查找插入位置。若等于树根,则不再插入,若大于树根,则递归地在右子树上查找插入位置,否则递归地在左子树上查找插入位置,因此,新结点总是以叶子的方式...

查看完整答案

讨论

最佳二叉树是AVL树(平衡二叉树)。

在分析二叉查找树性能时常加入失败结点,即外结点,从而形成扩充的二叉树。若设失败结点i所在层次为li,那么查找失败到达失败结点时所做的数据比较次数是多少?

下列哪两个数据结构,同时具有较高的查找和删除性能【 】

在n个记录的有序顺序表中进行折半查找,最大的比较次数是__________。

负载因子(装填因子)是散列表的一个重要参数,它反映散列表的装满程度。

假定有K个关键字互为同义词,若用线性探测法把这K个关键字存入散列表中,至少要进行【 】次探测。

若杂凑表(Hash)的地址范围为[0,9],杂凑函数为H(key)=(key2+2) MOD 9,并采用链地址法处理冲突,请画出元素7、4、5、3、6、2、8、9依次插入杂凑表的状态。

设有12个数据{25,40,33,47,12,66,72,87,94,22,5,58},它们存储在散列表中,利用双散列解决冲突,要求插入新数据的平均查找次数不超过3次。① 该散列表的大小m应该设计多大?② 试为该散列表设计相应的散列函数(用除留余数法)并计算寻找下一个“空位”时向前跨步步长的再散列函数。③ 顺次将各个数据散列到表中。④ 计算查找成功的平均查找次数。

设a、b、c、d和e这5个字符的编码分别为1、2、3、4和5,并设标识符依以下次序出现ac、bd、aa、be、ab、ad、cd、bc、ae和cd。要求用哈希(Hash)方式将它们存放在具有10个位置的表中。① 对上述关键字(标识符)构造一个哈希函数,使得发生冲突尽可能地少。② 用线性探测再散列法解决冲突。写出上述各关键字在表中的位置。

若散列表的负载因子α<1,则可避免碰撞的产生。