一.单项选择题
1.下列数据中,( )是非线性数据结构。
A.栈 B.队列 C.完全二叉树 D.堆
2.下列算法中,时间复杂度不是0(1)的是( )A.含有尾指针的单项循环列表,在表插入元素
B.含有头指针的单项循环列表,在表尾插入元素
C.在单链表的表尾插入元素
3.已知一棵完全二叉树第六层有8个叶子结点(根结点是第一层),请问该完全二叉树结点最少是( )
A.97 B.110 C.111 D.119
4.关于无向图的遍历,下列说法正确的是( )
A.深度优先遍历的时间复杂度是0(n2)
B.广度优先遍历的时间复杂度是0(n2)
C.深度优先遍历和广度优先遍历的时间复杂度相同。
D.深度优先遍历可以求得起始点与其他顶点的最短路径长度
5.将两个各含有N个元素的有序表合成为一个有序表,最少的比较次数是( )
A.N-1 B.N C.2N D.2N-1
6.高度为5的3阶B-树有至少有( )个节点
A.9 B.15 C.31 D.63
7.有一个10*10的对称矩阵M的上三角部分的元素mi,j(1<=i=j=10)按行优先顺序依次存入C语言的一维数组中,则元素M6,6在N中的下标是( )
A.20 B.30 C.40 D.41
8.数据按照A、B、C、D、E、F、G依次进栈,出栈操作可随意加入到进栈操作中,且一定保证每次出栈操作都有数据出栈,若栈的容量为3,则不可能的出站顺序是( )
A.ACDBGFE
B.CBAFGED
C.CDEBFGA
D.AEDGFCB
9.假如下标从0开始,关于next值的说法错误的是( )
A.如果next[j]=k,且(j!=0),则next[j-1]=k-1
B.如果next[j]=k,则next[j+1]=k+1
C.如果next[j]=k,则next[j+1]不可能为-l
D.如果next[j]=k,则next[j+1]可能为0
10.下列可构成二分查找关键字比较序列的是()
A.50 20 45 18 32
B.50 45 20 18 19
C.18 50 20 45 19
D.18 20 50 45 13
二.填空题
1.冒泡排序的空间复杂度为____,这种算法被称为 ____
2.在双向链表中,删除指针p所指向的结点,则修改指针的语句为____
3.迷宫求解需要用到的结构是____,图的广度优先搜索算法用到的结构是____
4.表达式4+2*3*4-10/5,的后缀表达式为:____
5.字 符 串ababababc,请下标从0开始 问,next[8]=____,next[3]=____
6.森林F对应二叉树B,它的结点数目是四B的根结点为p,p的右子树上的结点数为N,森林F第一棵的结点数是____
7.对于一个有n个顶点的图,如果是连通无向图,则边至少有____条,如果是强连通
有向图,则至少要有____条弧。
8.有12个元素的有序表,折半查找时,查找成功时的平均查找长度是____
9.对6个数进行直接插入排序,最多需要进行____次元素之间的比较
10.初始序列为6,9,1,5,8,4,7,建立大顶堆H,这个大顶堆是____