本文包换50道数据结构的选择题,包含大部分数据结构相关的知识,适合大学生去期末复习食用。
一般情况下,以下查找效率最低的数据结构是 【正确答案: c】。
A、有序顺序表;
B、二叉排序树;
C、 堆;
D、平衡二叉树
若序列的原始状态为{1,2,3,4,5,10,6,7,8,9},要想使得排序过程中元素比较次数最少,则应该采用 【正确答案: a】方法。
A、插入排序;
B、选择排序;
C、希尔排序;
D、冒泡排序。
排序趟数与序列的原始状态无关的排序方法是 【正确答案: b】。
I、直接插入排序;II、简单选择排序;III、冒泡排序;
IV、基数排序
A、I、III;
B、I、II、IV;
C、 I、II、III ;
D、I、IV。
若要求排序是稳定的,且关键字是实数,则在下列排序方法中应选择 【正确答案: a】。
A、直接插入排序;
B、选择排序;
C、基数排序;
D、快速排序。
若线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用 【正确答案: d】存储方法最节省时间。
A、单链表;
B、带头指针的单循环链表;
C、双链表;
D、带尾指针的单循环链表。
可以用 【正确答案: d】定义一个完整的数据结构。
A、数据元素;
B、数据对象;
C、数据关系;
D、抽象数据类型
下列排序算法中,若将顺序存储更换为链式存储,则算法的时间效率会降低的是 【正确答案: d】。
I、插入排序;II、选择排序;III、起泡排序;IV、希尔排序;V、堆排序
A、仅I、V;
B、仅II、III;
C、仅III,IV;
D、仅IV,V
下列排序算法中,元素的移动次数与关键字的初始排序次序无关的是 【正确答案: c】。
A、直接插入排序;
B、起泡排序;
C、基数排序;
D、快速排序。
在内部排序时,若选择了归并排序而没有选择插入排序,则可能的是理由是 【正确答案: b】。
I、归并排序的程序代码更短;
II、归并排序的占用空间更少;
III、归并排序的运行效率更高;
A、仅II;
B、仅III;
C、仅I、II;
D、仅I、III 。
对10TB的数据文件进行排序,应使用的方法是 【正确答案: d】
A、希尔排序;
B、堆排序;
C、快速排序;
D、归并排序。
以下排序方法中,排序过程中比较次数的数量级与序列初始状态无关的是 【正确答案: a】。
A、归并排序;
B、插入排序;
C、快速排序;
D、冒泡排序。
以下排序算法中, 【正确答案: c】不需要进行关键字的比较。
A、快速排序;
B、归并排序;
C、基数排序;
D、堆排序
对给定的关键字序列
110,119,007,911,114,120,122
进行基数排序,则第二趟分配收集后得到的关键字序列是 【正确答案: c】。
A、007,110,119,114,911,120,122;
B、007,110,119,114,911,122,120;
C、007,110,911,114,119,120,122;
D、110,120,911,122,114,007,119。
对{05,46,13,55,94,17,42},进行基数排序,一趟排序的结果是 【正确答案: c】。
A、05,46,13,55,94,17,42;
B、05,13,17,42,46,55,94;
C、42,13,94,05,55,46,17;
D、05,13,46,55,17,42,94
一组经过第一趟2路归并排序后的记录的关键字为
{25,50,15,35,80,85,20,40,36,70},其中包含5个长度为2的有序表,用2-路归并排序方法对该序列进行第二趟归并后的结果为 【正确答案: b】。
A、15,25,35,50,80,20,85,40,70,36;
B、15,25,35,50,20,40,80,85,36,70;
C、15,25,50,35,80,85,20,36,40,70;
D、15,25,35,50,80,20,36,40,70,85
如果将中国人按照生日(不考虑年份,只考虑月、日)来排序,那么使用下列排序算法最快的是 【正确答案: d】。
A、归并排序;
B、希尔排序;
C、快速排序;
D、基数排序
按{12,24,36,90,52,30}的顺序构成的平衡二叉树,其根结点是 【正确答案: b】。
A、24;
B、36;
C、52;
D、30。
长度为12的有序表采用顺序存储结构,采用折半查找技术。在等概率情况下,查找成功时的平均查找长度是 【正确答案: a】。
A、37/12;B、62/13;C、39/12;D、49/13。
长度为12的有序表采用顺序存储结构,采用折半查找技术。在等概率情况下,查找失败时的平均查找长度是 【正确答案: d】。
A、37/12;B、62/13;C、39/12;D、49/13。
用数组r存储静态链表,结点的next域指向后继,工作指针j指向链表中的某结点,则j后移的操作语句是 【正确答案: a】。
A、j=r[j].next;
B、j=j+1;
C、j=j->next;
D、j=r[j]->next。
在双循环链表的p所指的结点后插入s所指结点的操作是 【正确答案: d】。
A、p->next=s; s->prior=p;
p->next->prior=s;s->next=p-next;
B、p->next=s; p->next->prior=s;
s->prior=p;s->next=p-next;
C、s->prior=p;s->next=p-next;
p->next=s; p->next->prior=s;
D、s->prior=p;s->next=p-next;
p->next->prior=s;p->next=s。
若线性表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用 【正确答案: b】存储方法最节省时间。
A、单链表;
B、循环双链表;
C、单循环链表;
D、带尾指针的单循环链表。
在一个单链表中,已知q所指结点是p所指结点的直接前驱,若在q和p之间插入s所指结点,则执行 【正确答案: b】操作。
A、s->next=p->next; p->next=s;
B、q->next=s; s->next=p;
C、p->next=s->next; s->next=p;
D、p->next=s; s->next=q。
线索二叉树中某结点R没有左孩子的充分必要条件是 【正确答案: c】。
A、R.lchild==NULL;
B、 R.ltag==0 ;
C、R.ltag==1 ;
D、 R.rchild== NULL 。
一个高度为h的满二叉树共有n个结点,其中有m个叶子结点,则有 【正确答案: d】成立。
A、n=h+m;
B、h+m=2n;
C、m=h-1;
D、n=2m-1。
若一个栈的输入序列是1,2,3,…,n,其输出序列是p1,p2,…,pn,若p1=3,则p2的值 【正确答案: c】。
A、一定是2;
B、一定是1;
C、不可能是1;
D、以上都不对。
二叉树的前序序列和后序序列正好相反,则该二叉树一定是 【正确答案: b】二叉树。
A、空或只有一个结点;
B、高度等于其结点数;
C、任一结点无左孩子;
D、任一结点无右孩子。
为5个使用频率不等的字符设计哈夫曼编码,不可能的方案是 【正确答案: d】
A、(000,001,010,011,1)
B、(0000,0001,001,01,1)
C、(000,001,01, 10,11)
D、(00,100,101, 110,111)
为5个使用频率不等的字符设计哈夫曼编码,不可能的方案是 【正确答案: c】
A、(111,110,10,01,00)
B、(000,001,010,011,1)
C、(100,11,10, 1,0)
D、(001,000,01, 11,10)
无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是 【正确答案: d】。
A.a,b,e,c,d,f
B.a,c,f,e,b,d
C.a,e,b,c,f,d
D.a,e,d,f,c,b
设哈夫曼编码的长度不超过4,若已经对两个字符编码为1和01,则最多还可以为 【正确答案: c】个字符编码
A、2,
B、3,
C、4,
D、5
下面的说法中正确的是 【正确答案: b】.
(1)任何一棵二叉树的叶子结点在三种遍历中的相对次序不变;
(2)按二叉树定义,具有三个结点的二叉树共有6种。
A.(1)(2)
B.(1)
C.(2)
D.(1)、(2)都错
已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为 【正确答案: a】。
A.CBEFDA
B. FEDCBA
C. CBEDFA
D.不定.
下面几个符号串编码集合中,不是前缀编码的是 【正确答案: b】。
A.{0,10,110,1111}
B.{11,10,001,101,0001}
C.{00,010,0110,1000}
D.{b,c,aa,ac,aba,abb,abc}
在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序 【正确答案: b】
A.都不相同
B.完全相同
C.先序和中序相同,而与后序不同
D.中序和后序相同,而与先序不同
有关二叉树下列说法正确的是 【正确答案: b】
A.二叉树的度为2
B.一棵二叉树的度可以小于2
C.二叉树中至少有一个结点的度为2
D.二叉树中任何一个结点的度都为2
一棵完全二叉树上有1001个结点,其中叶子结点的个数是 【正确答案: b】
A. 250
B. 501
C.254
D.505
一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是 【正确答案: b】
A.CABDEFG
B.ABCDEFG
C.DACEFBG
D.ADCFEG
一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有 【正确答案: b】结点
A.2h
B.2h-1
C.2h+1
D.h+1
设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为 【正确答案: d】
A.5
B.6
C.7
D.8
数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是 【正确答案: a】。
A. 1175
B. 1180
C. 1205
D. 1210
在一棵三叉树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为 【正确答案: c】个
A.4
B.5
C.6
D.7
在下述结论中,正确的是 【正确答案: d】
①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③
B.②③④
C.②④
D.①④
得分:0.00
堆的形状是一棵 【正确答案: c】
A、二叉排序树;
B、满二叉树;
C、完全二叉树;
D、判定树
对关键码序列{23,17,72,60,25,8,68,71,52}进行堆排序,输出两个最小关键码后的剩余堆是 【正确答案: d】
A、{23,72,60,25,68,71,52};
B、{23,25,52,60,71,72,68};
C、{71,25,23,52,60, 72,68};
D、{23,25,68,52,60, 72,71};
设有5000个元素,希望用最快的速度挑选出前10个最大的元素,采用 【正确答案: b】方法最好。
A、快速排序;
B、堆排序;
C、希尔排序;
D、归并排序
以下排序方法中, 【正确答案: c】在一趟结束后不一定选出一个元素放在其最终位置上。
A、简单选择排序;
B、冒泡排序;
C、归并排序;
D、堆排序。
假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测? 【正确答案: d】
A.k-1次
B. k次
C. k+1次
D. k(k+1)/2次
散列函数有一个共同的性质,即函数值应当以 【正确答案: d】取其值域的每个值。
A.最大概率
B. 最小概率
C. 平均概率
D. 同等概率
将10个元素散列到100000个单元的哈希表中,则 【正确答案: c】产生冲突。
A. 一定会
B. 一定不会
C. 仍可能会.
D. 无法确定