【第一题】
选择【B】
原地进行升序排列,所以应该是建立大根堆;如果是原地进行降序排列,应该建立小根堆
【第二题】
选择【C】
【第三题】
选择【B】
循环队列是队列的一种顺序存储结构
循环链表是用不连续的存储单元存储数据
二叉链表是树的二叉链表实现方式
栈是一种特殊存取方式的线性表
【第四题】
选择【A】单链表保存的信息只有表头如果要在特定位置插入一个节点,需要先从表头一路找到那个节点
【第五题】
选择【A】
- 堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树
- 哈夫曼树:当用 n 个结点(都做叶子结点且都有各自的权值)试图构建一棵树时,如果构建的这棵树的带权路径长度最小,称这棵树为“最优二叉树”,有时也叫“赫夫曼树”或者“哈夫曼树”。根据赫夫曼树的结构特点我们可以知道,在赫夫曼树中所有的关键字只出现在叶结点上,其非叶结点上并没有关键字值
- AVL树本质上是带了平衡功能的二叉查找树
- 二叉排序树只有中序遍历是有序的
【第六题】
选择【B】
【第七题】
选择【C】
散列表的查找效率取决于:散列函数、处理冲突的方法和装填因子
冲突的产生概率与装填因子成正比
【第八题】
选择【D】
完全二叉树的定义是:“对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树
2n个结点的完全二叉树的叶子结点就是n个
【第九题】
选择【C】
最好情况下,时间复杂度最优是直接插入排序和冒泡排序只需一趟O(n)
最坏情况下,时间复杂度最优是堆排序,时间复杂度是O(nlog2n)
希尔排序最坏的时间复杂度为O(n1.5)
快排和冒泡最坏的时间复杂度为O(n2)
【第十题】
选择【B】