数据结构试题求解
题目比较多,但都是很简单的,希望有人解答一下了,能答几道是几道吧,回答最多的给分酬谢。
感谢大家!
一.判断题。
( )1.栈和队列都不适合用散列存储法存储。
( )2.如果树用二叉树链表表示,则判断某个结点是不是树叶的条件是该结点左,右两个指针域的值都为空。
( )3.一组关键码已完全有序时,最快的排序方法是快速排序。
( )4.9阶B-树中,除根以外的任何一个非叶子结点中的关键字数目均在5~9之间。
二.填空题.
5.带头结点的循环链表L为空表的条件是___________
6.在单链表中,删除指针p所指结点的后继结点的语句序列是_________。
7.若一个栈的输入序列为1,2……,n,则其输出序列的第2个元素为n的输出序列的种数是____________。
8.s1=“my”, s2=“ ” ,s 3=“computer”,则s1,s2和s3连接后的结果是________________。
9.具有10个结点的二叉树的深度最多为(树根编号从0开始)___________。
10.已知二叉树有50个叶子结点,则此二叉树至少有____________个结点。
11.在_______________线索二叉树中,有可能每个结点的右孩子指针域都不为空。
12.可以进行拓扑排序的有向图一定是__________。
三.选择题。
( )13.在决定选取何种存储结构时,一般不考虑____________。
A.各结点的值如何 B.结点数目的多少
C.对数据有哪些运算 D.所用编程语言实现这种结构是否方便
( ) 14.数组A[1..5,1..6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5][5]的地址为_____________
A.1120 .B.1125 C.1140 D. 其他
( ) 15.下面程序段时间复杂度为:
for (int i=1; i<=m; i++)
for (int j=1; j<=m; j++ )
S+=i.
A.O(n的平方) B.O(m的平方) C.O(n+m) D.O(n*m)
( )16.设有两个长度为n的单向链表,结点类型相同。若以H1为表头指针的链表是非循环的,以H2为表头指针的链表是循环的,则________。
A. 对于两个链表来说,删除第一个结点的操作,其时间复杂度都是O(1)。
B. 对于两个链表来说,删除最后一个结点的操作,其时间复杂度都是O(n)。
C.循环链表要比非循环链表占用更多的存储空间。
D. H1和H2是不同类型的变量。
( )17.用整数1,2,3,4,5作为五个树叶的权值,可构造一棵带权路径长度值为_______的Huffman树。:
A.15 B.33 C.34 D.其他
( )18.在高度为h的完全二叉树中,_______.
A度为0的结点都在第h层上 。
B.第i(0≤i〈h-1)层上的结点都是度为2的结点。
C. 第i(0≤i〈h-1)层上有2的(i-1)次方的结点。
D.不存在度为1的结点。
( )19.在一个空AVL树内,依次插入关键字:49,94,91,47,92,45,89,42,87,当删除关键码时,如果该关键码同时具有左右子女,则以其中序后继替代,则删除关键码91时的旋转类型是__________
A.左单旋 B. 左右单旋 C. 右单旋 D.其他情况
( )20.在一棵m阶B-树中,若在某叶子结点插入中一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是___________。
A.m-1 B.m C.︱ m/2 ︳ D. ︱m/2 ︳-1 (都是向上取值)
( )21.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在p和q之间插入s结点,则执行:
A.s->link=p->link; p->link=s; B.p->link=s->link;s->link=p;
C.q->link=s; s->link=p; D.p->link=s; s->link=q;
( )22.字符a,b,c,d的权值分别为2,3,4,11,则字符a的Huffman编码可能为:
A.11 B.010 C.0 D.其他