数据结构 无答案.docx
《数据结构 无答案.docx》由会员分享,可在线阅读,更多相关《数据结构 无答案.docx(21页珍藏版)》请在冰豆网上搜索。
数据结构无答案
一、填空题:
(每空1分,共10分)
1.数据的存储结构种类包括顺序链接索引散列。
2.分析以下部分代码的时间复杂度用大O表示法为②。
inti=1;s=0;
while(i<=n)
{s+=i;
i=i+2;
}
3.队列是一种③的特殊的线性表。
4.线性表的顺序存储结构通常可采用④和⑤两种访问方式。
5.设一棵完全二叉树有700个结点,则共有⑥个叶子结点。
6.将一个长度为n的顺序表的第i个元素删除时,只需前移⑦个元素。
7.设数组a[1…10,1…20]的起始地址为100,每个元素占4个存储单元,若以行序为主序顺序存储,则元素a[3,5]的存储地址为 ⑧ 。
8.排序方法的稳定性是指⑨。
9.对有序顺序表(3,8,10,25,29,45,55,77,85,99)采用折半查找,若查找表中元素10,它将依次与表中元素⑩比较大小。
10.数据的存储结构主要包括。
11.表达式求值是应用的一个典型例子。
12.下面程序段的时间复杂度是。
for(j=0;j<n;j++)
a=a+j;
13.空串与空格串的区别在于:
。
14.单链表表示法的基本思想是用表示结点间的逻辑关系。
15.在图1所示的树中,结点G的子孙结点有。
16.在有n个顶点的连通图中,至少有条边。
17.根据二叉树的定义,具有三个结点的二叉树有种不同的形态,分别是。
18.排序方法的稳定性是指。
19.设有一稠密图G,则G采用存储较省空间。
20.将一个长度为n的顺序表的第i个元素(1≤i≤n)删除时,需向前移动个元素。
21.设数组a[1…10,1…20]的基地址为100,每个元素占4个存储单元,若以列序为主序顺序存储,则元素a[6,16]的存储地址为 。
22.在各种查找方法中,平均查找长度与结点个数n无关的查找方法是。
23.数据的逻辑结构包括、和三种基本结构。
24.表达式求值是应用的一个典型例子。
25.下面程序段的时间复杂度是。
i=1;
while(i<=n)
{t=t+1;
i++;
}
26.空串与空格串的区别在于:
。
27.单链表的基本思想是用表示结点间的逻辑关系。
28.树的度是指。
29.交换排序的方法主要包括。
30.在有n个顶点的简单无向图中,最大可有条边。
31.深度为7(根的层次号为1)的完全二叉树至少有___________个结点。
32.图的存储方式主要有。
33.将一个长度为n的线性表的第i个元素(1≤i≤n)删除时,需向前移动个元素。
34.设数组a[0…10,0…20]的基地址为100,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[6,15]的存储地址为 。
35.查找表要采用折半查找,必须满足的条件是。
36.称算法的时间复杂度为O(f(n)),其含义是指算法的执行时间和_______的数量级相同。
37.在一个长度为n的单链表L中,删除链表中*p的前驱结点的时间复杂度为_________。
38.假设为循环队列分配的向量空间为Q[20],若队列的长度和队头指针值分别为13和17,则当前尾指针的值为______。
19.设s=″IAMAATHLETE″,t=″GOOD″,则执行下列串操作序列之后得到的sub1为________。
substr(sub1,s,5,2);substr(sub2,s,6,8);strcpy(t1,t);
strcat(t1,sub2);strcat(sub1,t1);
40.广义表的深度是指_______。
41.一棵含999个结点的完全二叉树的深度为_______。
42.含n个顶点的无向连通图中至少含有______条边。
43.若对关键字序列(43,02,80,48,26,57,15,73,21,24,66)进行一趟增量为3的希尔排序,则得到的结果为______。
二、选择题:
1.数据结构是一门研究非数值计算的程序设计问题中计算机操作对象以及它们之间的和运算的学科。
A.数据B.算法
C.运算D.关系
2.算法分析的目的是。
A.找出数据结构的合理性B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进D.分析算法的易懂性和文档性
3.线性表的顺序存储结构是一种结构。
A.随机存取B.顺序存取
C.索引存取D.HASH存取
4.顺序表和链表均适用于查找。
A.随机B.二分法
C.顺序,也能二分法D.顺序
5.在一个无向图中,顶点的度的和等于边的条数的倍。
A.1/2B.lC.2D.4
6.一组记录的关键字为{8,2,5,4,7,9},则利用堆排序的方法建立的初始堆(大顶堆)为。
A.9,8,7,5,4,2B.9,7,8,4,2,5
C.9,7,8,4,5,2D.9,8,7,4,5,2
7.若在线性表中采用折半查找法查找元素,该线性表应该。
A.元素按值有序B.元素按值有序,且采用顺序存储结构
C.采用顺序存储结构D.元素按值有序,且采用链式存储结构
8.二叉树是非线性数据结构,所以。
A.它不能用顺序存储结构存储;B.顺序存储结构和链式存储结构都能存储;
C.它不能用链式存储结构存储;D.顺序存储结构和链式存储结构都不能使用
9.下述几种排序方法中,平均的性能最好的是
A.希尔排序B.快速排序C.归并排序D.选择排序
10.在进行出栈运算时,应先判别栈是否。
A.空B.满C.上溢D.下溢
11.一个队列的入队序列是1,2,3,4,则队列的输出序列是。
A.4,3,2,1B.1,2,3,4
C.1,4,3,2D.3,2,1,4
12.一维数组的第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
A.110B.108C.100D.120
13、希尔排序是一种排序方法。
A.插入B.选择C.交换D.归并
14、将递归算法转换成对应的非递归算法时,通常需要借助结构实现。
A.栈B.队列
C.链表D.树
15、树最合适用来表示。
A.有序数据元素B.元素之间无联系的数据
C.无序数据元素D.元素之间具有分支层次关系的数据
16.把一棵树转换为二叉树后,这棵二叉树的形态是。
A.唯一的B.有多种,但根结点都没有左孩子
C.有多种D.有多种,但根结点都没有右孩子
17.在完全的二叉树中,若一个结点没有,则它必定是叶结点。
A.右孩子结点B.左孩子结点
C.左子结点或者没有右子结点D.兄弟结点
18.在单链表中,指针p指向链表某结点,现将指针q所指结点插到p所指结点之后,则其实现语句应为
A.p->next=q;q->next=p->next;B.q→next=p→next;p→next=q;
C.q→next=p→next;p→next=q→next;D.q->next=p+1;p->next=q;
19.对于图1的有向图,以下是正确的拓扑排序序列。
A.1,2,3,4,5,6,7,8
B.8,7,6,5,4,3,2,1
C.5,2,3,4,7,8,1,6
D.5,3,2,7,8,4,1,6
20.有8个结点的无向连通图最少有条边。
A.6B.7C.8D.9
21、算法分析的两个主要方面是。
A.空间复杂性和时间复杂性B.正确性和简明性
C.可读性和文档性D.数据复杂性和程序复杂性
22、设有二维数组A(1..12,1..20),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100。
则元素A(5,5)的存储地址为。
A.176B.276C.208D.308
23、对单链表表示法,以下说法错误的是
A.数据域用于存储线性表的一个数据元素
B.指针域用于存放一个指向本结点所含数据元素的直接后继所在结点的指针
C.所有数据通过指针的链接而组织成单链表
D.NULL称为空指针,它不指向任何结点只起标志作用
24、以下说法错误的是。
A.求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低
B.顺序存储的线性表可以随机存取
C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
D.线性表的链式存储结构优于顺序存储结构
25、对长度为n的顺序表,在其第i个位置插入一个新元素算法的时间复杂度为。
A.
B.
C.O(logn)D.
26、用冒泡排序法对下列数据12,37,42,19,27,35,56,44,10进行从小到大排序。
在将最大的数“沉”到最后时,数的顺序是。
A.12,37,42,19,27,35,44,10,56
B.12,37,42,19,27,35,10,44,56
C.12,37,19,27,35,42,44,10,56
D.10,12,19,27,35,37,42,44,56
27、在一个无向图中,顶点的度的和等于边的条数的。
A.1/2B.lC.2D.4
28、线性表若采用链表存储结构时,要求内存中可用存储单元的地址。
A.必须是连续的B.部分地址必须是连续的
C.一定是不连续的D.连续不连续都可以
29、设有两个串p和q,求q在p中首次出现的位置的运算称作:
。
A.连接B.模式匹配
C.求子串D.求串长
30、设栈的输入序列是(1、2、3、4),则不可能是其出栈序列。
A.1243B.2134C.1432D.4312
31、在单链表中,指针p指向链表某结点,现将指针s所指结点插到p所指结点之后,则其实现语句应为
A.s→next=p→next;p→next=s→next;B.s→next=p→next;p→next=s;
C.s->next=p+1;p->next=s;D.p->next=s;s->next=p->next;
32、栈和队列的共同点是。
A.只允许在端点处插入和删除元素B.没有共同点
C.都是先进后出D.都是先进先出
33、假定一个顺序循环队列的队首和队尾指针分别用front和rear表示,则判队空的条件是。
A.front+1==rearB.front==rear+1C.front==0D.front==rear
34、若串S=”software”,其串长是。
A.2B.7C.8D.9
35、稀疏矩阵一般的压缩存储方法有两种。
A.二维数组和三维数组B.三元组和散列表
C.三元组和十字链表D.散列表和十字链表
36、已知一算术表达式的中级形式为A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为。
A.-A+B*C/DEB.-A+B*CD/E
C.-+*ABC/DED.-+A*BC/DE
37、设有100个数据元素,采用折半搜索时,最大比较次数为()。
A.6B.7C.8D.10
38、对于关系图
以下是正确的拓扑排序序列。
A.5,2,3,4,5,6,7,8B.5,3,2,7,1,4,6,8
C.5,3,7,8,4,1,2,6D.5,3,2,7,4,8,1,6
39、一个有序顺表有255个对象,采用顺序搜索法查表,平均搜索长度为。
A、128B、127C、126D、255
40、就平均性能而言,以下最好的内排序方法是排序法。
A.冒泡B.快速C.交换D.希尔插入
41、在数据结构中,从逻辑上可以把数据结构分为。
A.动态结构和静态结构B.紧凑结构和非紧凑结构
C.线性结构和非线性结构D.内部结构和外部结构
42、设有二维数组A(1..12,1..10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100。
则元素A(5,5)的存储地址为。
A.176B.276
C.208D.308
43、在有向图G的拓扑序列中,如果顶点Vi在Vj之前,则下列情况中,一定不可能出现的是。
A.G中有弧B.G中有一条从Vj到Vi的路径
C.G中没有弧D.G中有一条从Vi到Vj的路径
44、图1从顶点A出发进行深度优先搜索的可能序列为。
A.ABEDCFB.AEFCDB
C.ACBDEFD.ABCEDF
45、算法分析的两个主要方面是。
A.空间复杂性和时间复杂性B.正确性和简明性
C.可读性和文档性D.数据复杂性和程序复杂性
46、假定一个顺序循环队列的队首和队尾指针分别用front和rear表示,则判队空的条件是。
A.front+1==rearB.front==rear+1
C.front==0D.front==rear
47、设有100个数据元素,采用折半搜索时,最大比较次数为()。
A.6B.7
C.8D.10
48、线性表若采用链表存储结构时,要求内存中可用存储单元的地址。
A.必须是连续的B.部分地址必须是连续的
C.一定是不连续的D.连续不连续都可以
49、由M棵结点数均为N的树组成的森林,将其转换成二叉树,则该二叉树的右子树的结点数为。
A.MNB.N(M-1)
C.M(N-1)D.N(M+1)
50、一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是。
A.edcbaB.decbaC.dceabD.abcde
51、在单链表中,指针p指向链表某结点,现将指针s所指结点插到p所指结点之后,则其实现语句应为
A.s->next=p+1;p->next=s;B.p->next=s;s->next=p->next;
C.s→next=p→next;p→next=s→next;D.s→next=p→next;p→next=s;
52、栈和队列的共同点是。
A.都是先进后出B.都是先进先出
C.只允许在端点处插入和删除元素D.没有共同点
53、有数{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,则应选择下面哪个序列输入。
A.45,24,53,12,37,96,30B.37,24,12,30,53,45,96
C.12,24,30,37,45,53,96D.30,24,12,37,45,96,53
54、将递归算法转换成对应的非递归算法时,通常需要使用。
A.栈B.队列C.链表D.树
55、树最合适用来表示。
A.有序数据元素B.无序数据元素
C.元素之间具有分支层次关系的数据D.元素之间无联系的数据
56、二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面,这种说法。
A.正确B.错误
57、一组记录的关键字为{45,80,55,40,42,85},则利用堆排序的方法建立的初始堆(大顶堆)为。
A.80,45,50,40,42,85B.85,80,55,40,42,45
C.85,80,55,45,42,40D.85,5,80,42,45,40
58、若在线性表中采用折半查找法查找元素,该线性表应该。
A.元素按值有序B.元素按值有序,且采用顺序存储结构
C.采用顺序存储结构D.元素按值有序,且采用链式存储结构
59、设高度为h的二叉树只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为。
A.2hB.2h-1C.2h+1D.h+1
60、对5个不同的数据元素进行直接插入排序,最多需要进行次比较。
A.8B.10
C.15D.25
61.数据结构是( )
A.一种数据类型B.数据的存储结构
C.一组性质相同的数据元素的集合
D.相互之间存在一种或多种特定关系的数据元素的集合
62.算法分析的目的是( )
A.辨别数据结构的合理性B.评价算法的效率
C.研究算法中输入与输出的关系D.鉴别算法的可读性
63.在线性表的下列运算中,不改变数据元素之间结构关系的运算是( )
A.插入B.删除C.排序D.定位
64.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )
A.3,2,6,1,4,5B.3,4,2,1,6,5
C.1,2,5,3,4,6D.5,6,4,2,3,1
65.设串sl=″DataStructureswithJava″,s2=″it″,则子串定位函数index(s1,s2)( )
A.15B.16C.17D.18
66.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为( )
A.1207B.1209C.1211D.1213
67.在按层次遍历二叉树的算法中,需要借助的辅助数据结构是( )
A.队列B.栈C.线性表D.有序表
68.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( )
A.不一定相同B.都相同C.都不相同D.互为逆序
69.若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的( )
A.层次遍历算法B.前序遍历算法
C.中序遍历算法D.后序遍历算法
70.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为( )
A.图中每个顶点的入度B.图中每个顶点的出度
C.图中弧的条数D.图中连通分量的数目
71.图的邻接矩阵表示法适用于表示( )
A.无向图B.有向图C.稠密图D.稀疏图
72.在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为( )
A.iB.i+1C.n-ID.n-i+1
73.下列排序算法中,其时间复杂度和记录的初始排列无关的是( )
A.插入排序B.堆排序C.快速排序D.冒泡排序
74.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为( )
A.f,c,bB.f,d,bC.g,c,bD.g,d,b
三、判断题
()1.链表的物理存储结构具有同链表一样的顺序。
()2.顺序存储方式只能用于存储线性结构。
()3.数据结构中,数据的逻辑结构是与所使用的计算机无关。
()4.栈是一种插入、删除操作限于在表的一端进行的线性表,是一种后进先出结构。
()5.对一棵非空二叉树,它的根结点作为第1层,则它的第i层上最多能有2i-1个结点。
()6.图的逆邻接表存储结构只适用于有向图。
()7.图的深度优先遍历序列是惟一的。
()8.二叉排序树查找的平均查找长度ASL与结点个数n无关。
()9.冒泡排序的时间复杂度为O(nlogn)。
()10.完全二叉树按自上而下,从左到右给结点编号(从1开始,共n个),则编号最大的分枝结点的编号是n/2。
四、简答题
1.下列各三元组表分别表示一个稀疏矩阵,试写出它们的稀疏矩阵。
(本题7分)
2.设待排关键字序列为{17,68,3,18,6,15,9,39,11},请分别给出用希尔排序(增量序列取为5,2,1)和冒泡排序的过程。
(本题10分)
3.已知如图2所示的有向图,请给出该图的:
(本题12分)
顶点
1
2
3
4
5
6
入度
出度
(1)每个顶点的入/出度;
(2)邻接矩阵;
(3)邻接表和逆邻接表;
(4)写出从顶点6出发进行广度优先搜索的序列(至少2个)。
4.试写出如图所示的二叉树分别按先序、中序、后序遍历时得到的结点序列。
(本题8分)
5.有一份电文中共使用六个字符:
a、b、c、d、e、f,它们的出现频数依次为13、37、25、16、9、8,试画出对应的Huffman树(请按左子树根结点的权小于等于右子树根结点的权的次序构造),并求出每个字符的Huffman编码。
(本题10分)
6.设给定的关键码序列为{11,56,4,13,7,12,1,8},试构造其二叉排序树,并计算查找成功时的平均查找长度ASL。
(本题10分)
7.给定二叉树的两种遍历序列,分别是:
前序遍历序列:
D,A,C,E,B,H,F,G,I;中序遍历序列:
D,C,B,E,H,A,G,I,F,试画出二叉树B,并给出其后序遍历序列。
(本题10分)
8.设待排关键字序列为{12,88,5,16,6,15,9,39,11},请分别给出用希尔排序(增量序列取为5,2,1)和简单选择排序的过程。
(本题10分)
9.已知如图2所示的有向图,请给出该图的:
(本题10分)
(5)每个顶点的入/出度;
(6)邻接矩阵;
(7)邻接表;
(8)写出从顶点6出发进行深度优先搜索的序列(至少2个)。
顶点
1
2
3
4
5
6
入度
出度
10.对图3的带权无向图,写出它的邻接矩阵并画出Kruskal算法构造最小生成树的过程。
(本题9分)
11.线性表有两种存储结构:
一是顺序表,二是链表。
(本题6分)
试问:
(1)两种存储表示各有哪些主要优缺点?
(2)在什么情况下用顺序表比链表好?
(3)在何种情况下选用链表较优?
12.待排关键字序列为{28,55,4,24,15,53,69,23,8},请分别给出用快速排序和简单选择排序的过程。
(本题8分)
13.设哈希(Hash)表的地址范围为0~10,哈希函数为:
H(K)=K%11。
K为关键字,用线性探测法再散列法解决冲突,输入关键字序列:
(16,34,42,17,31,80,49,47,26)
造出Hash表,试回答下列问题:
(本题8分)
(1)
画出哈希表的示意图;
(2)若查找关键字49,需依次与哪些关键字进行比较?
(3)计算查找成功时的平均查找长度ASL。
14.对图2的带权无向图,画出采用Prim算法(从顶点1开始)构造最小生成树的过程。
(本题8分)
15.假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。
试为这8个字母设计哈夫曼编码。
而使用等长编码表示形式是另一种编码方案。
对于上述实例,比较两种方案的优缺点。
(本题10分)
16.给定二叉树B的两种遍历序列,分别