2014数据结构习题集
数据结构习题集第4章(2014更正)

第4章树一、单项选择题:1.如下图4-1所示的4棵二叉树中,不是完全二叉树。
A. B. C. D.图4-1 4棵二叉树2.二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索,这种说法。
A.正确B.错误3.二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面,这种说法。
A.正确B.错误4.由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法。
A.正确B.错误5.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为。
A.2hB.2h-1C.2h+1D.h+16.如果T2是由有序树T1转换而来的二叉树,那么T1中结点的先根遍历就是T2中结点的遍历。
A.先序B.中序C.后序D.层次序7.某二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树一定是。
A.空或只有一个结点B.完全二叉树C.二叉排序树D.高度等于其结点数8. 如下图4-2所示的T2是由森林T1转化而来的二叉树,那么森林T1有 个叶子结点。
A.4B.5C.6D.7图4-2 一棵二叉树9. 按照二叉树的定义,具有3个结点的二叉树有 种。
A.3 B.4 C.5 D.610. 在一非空二叉树的中序遍历序列中,根结点的右边 。
A. 只有右子树上的所有结点B.只有右子树上的部分结点C. 只有左子树上的部分结点D.只有左子树上的所有结点11. 任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对次序 。
A.不发生改变B.发生改变C.不能确定D.以上都不对12. 设n ,m 为一棵二叉树上的两个结点,在中序遍历时,n 在m 前的条件是 。
A.n 在m 右方B.n 是m 祖先C.n 在m 左方D.n 是m 子孙13. 线索二叉树是一种 结构。
A.逻辑B.逻辑和存储C.物理D.线性二、填空题:1. 有一棵树如下图4-3所示,回答下面的问题:(1)这棵树的根结点是 ;(2)这棵树的叶子结点是 ;(3)结点k3的度是;(4)这棵树的度为;(5)这棵树的深度是;(6)结点k3的孩子结点是;(7)结点k3的双亲结点是。
2014年台湾省数据结构试题大全最新考试题库(完整版)

21、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
A.顺序栈需要判定栈空,链栈也需要判定
B.顺序栈需要判定栈空,而链栈不需要判定
C.顺序栈不需要判定栈空,而链栈需要判定
D.顺序栈不需要判定栈空,链栈也不需要判定
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
46、在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑 B.存储 C.逻辑和存储 D.物理
47、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
11、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
B.可以进行随机访问
C.可以省略表头指针或表尾指针
D.顺序访问相邻结点更灵活
12、有向图采用邻接矩阵存储,某一行中非零元素的个数等于
A.对应顶点v的度
B.对应顶点v的出度
C.对应顶点v的入度
D.依附于对应顶点v的边数
13、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
14、数据结构中,从逻辑上可以把数据结构分成(?)。
A 顺序表 B单链表 C 双链表 D单循环链表
9、有向图采用邻接矩阵存储,某一行中非零元素的个数等于
A.对应顶点v的度
B.对应顶点v的出度
C.对应顶点v的入度
D.依附于对应顶点v的边数
数据结构全国2014年4月高等教育自学考试

全国2014年4月高等教育自学考试一、单项选择题(本大题共15小题,每小题2分,共30分)1.下列几种算法时间复杂度中,最小的是A.O(log2n)B.O(n)C.O(n2)D.O(1)2.数据的存储方式中除了顺序存储方式和链式存储方式之外,还有A.索引存储方式和树形存储方式B.线性存储方式和散列存储方式C.线性存储方式和索引存储方式D.索引存储方式和散列存储方式3.表长为n的顺序表中做删除运算的平均时间复杂度为A.O(1)B.O(log2n)C.O(n)D.O(n2)4.顺序表中定位算法(查找值为x的结点序号最小值)的平均时间复杂度为A.O(1)B.O(log2n)C.O(n)D.O(n2)5.元素的进栈次序为A,B,C,D,E,出栈的第一个元素为E,则第四个出栈的元素为A.DB.CC.BD.A6.带头结点的链队列中,队列头和队列尾指针分别为front和rear,则判断队列空的条件为A.front==rearB.front!=NULLC.rear!==NULLD.front==NULL7.深度为5的二叉树,结点个数最多为A.31个B.32个C.63个D.64个8.如果结点A有2个兄弟结点,结点B为A的双亲,则B的度为A.1B.3C.4D.59.将题9图所示的一棵树转换为二叉树,结点C是A.A的左孩子B.A的右孩子C.B的右孩子D.E的右孩子10.n为图的顶点个数,e为图中弧的数目,则图的拓扑排序算法的时间复杂度为A.O(n)B.O(e)C.O(n-e)D.O(n+e)11.无向图的邻接矩阵是A.对角矩阵B.稀疏矩阵C.上三角矩阵D.对称矩阵12.在具有101个元素的顺序表中查找值为x的元素结点时,平均比较元素的次数为A.50B.51C.100D.10113.构造散列函数的方法很多,常用的构造方法有A.数字分析法、除留余数法、平方取中法B.线性探测法、二次探测法、除留余数法C.线性探测法、除留余数法、链地址法D.线性探测法、二次探测法、链地址法14.就平均时间性能而言,快速排序方法最佳,其时间复杂度为A.O(n)B.O(nlog2n)C.O(n2)D.O(1og2n)15.下述算法中,不稳定的排序算法是A.直接插入排序B.冒泡排序C.堆排序D.归并排序二、填空题(本大题共13小题,每小题2分,共26分)16.数据的基本单位是_________。
2014年湖南省数据结构(C++)试题及答案

19、衡量查找算法效率的主要标准是( C )。
A)元素个数 B)所需的存储量
C)平均查找长度 D)算法难易程度
20、不带头结点的单链表head为空的判定条件是 A 。
A.head == NULL B head->next ==NULL
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
25、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形 B.引用型
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
31、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
40、下述排序方法中,时间性能和待排序记录的初始状态无关的是( )
A 插入排序和快速排序 B 归并排序和快速排序
C 选择排序和归并排序 D 插入排序和归并排序
41、在以下的叙述中,正确的是 B 。
A.线性表的顺序存储结构优于链表存储结构
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
23、深度为k的完全二叉树所含叶结点的个数最多为( B)。
A)2k B) 2k-1 C)k D) 2k
24、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
C.指针型 D.常值引用型?
26、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
2014河南省JAVA版数据结构试题及答案

C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
24、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
43、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
10、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
25、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
26、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
17、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
5、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
6、串的逻辑结构与( D )的逻辑结构不同。
数据结构(本)期末综合练习(2014年12月)

数据结构期末综合练习2014年12月期末综合练习一一、单项选择题1 .单向链表所具备的特点是( )。
A.可以随机访问任一结点B.占用连续的存储空间C.插入删除不需要移动元素D.可以通过某结点的指针域访问其前驱结点2.头指针为head的带头结点的单向链表为空的判定条件是( )为真。
A. head= =NULLB. head->next= =NULLC. head->next=NULL;D. head->next!= NULL3.设有一个长度为18的顺序表,要在第6个元素之前插入一个元素(也就是插入元素作为新表的第6个元素),则移动元素个数为()。
A.12 B.5 C. 13 D.64.设有一个长度为32的顺序表,要删除第8个元素需移动元素的个数为()。
A.9 B.8 C.25 D.245.栈和队列的共同特点是()。
A.都是线性结构 B.元素都可以随机进出C.都是先进后出 D.都是先进先出6.一个栈的进栈序列是2,4,6,8,10,则栈的不可能输出序列是()(进栈出栈可以交替进行)。
A.2,4,6,8,10 B.8,6,10,2,4C.8,10,6,4,2 D.10,8,6,4,27.元素1,3,5,7按顺序依次入队列,按该队列的出队序列进栈,该栈的可能输出序列是()(进栈出栈可以交替进行)。
A.7,5,1,3 B.7,3,1,5C.5,1,3,7 D.7,5,3,18.一个队列的入队序列是a,b,c,d,按该队列的可能输出序列使各元素依次入栈,该栈的可能输出序列是()。
(进栈出栈可以交替进行)。
A.d,c,b,a B.c,a,b,dC.d,b,a,c D.d,a,b,c9.在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,则对该队列进行出队操作中并把结点的值保存在变量e中,其运算为e=f→data;和()。
A.r=r→next; B.r→next=r;C.f=f→next; D.f→next=f;10.在一个链队中,假设f和r分别为队头和队尾指针,p指向一个已生成的结点,现要为该结点的数据域赋值e,并使结点入队的运算为p->data=e; p->next=NULL ;和()。
2014湖北省数据结构最新考试试题库(完整版)

35、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
36、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
C)查找 D)定位
3、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
4、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
C)队列 D)树
27、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
28、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
39、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
12、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
37、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
38、链式存储的存储结构所占存储空间( A )。
全国2014年10月自考《数据结构》试题及其答案【在最后】

大题共4小题,每小题5分。
共20分)
请在答题卡上作答。
26.设Q是有N个存储空间的循环队列,初始状态front=rear=0,约定指针rear指向的单元始终为空,回答下列问题。
请根据最优二叉树的基本原理,采用类C语言,描述你所设计的成绩判定过程。
29.给定有向无环图G如题29图所示,写出G的5种不同的拓扑排序序列。
的单链表定义如下,其中freq域记录本结点被访问的次数,初值为0,单链表始终以freq 序。
函数f3l完成的功能是:查找给定关键字所在结点,若查找成功,则该结点的freq域加值调整结r旨位置。
请将空白处(1)~(3)补充完整。
在答题卡上作答。
回答下列问题。
五、算法设计题(本大题共l小题,共“l0分) 请在答题卡上作答。
34.已知带头结点的单链表类型定义如下:
- 10 -。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》习题集2014年8月第一章——第五章习题一、单选或填空题1. 下列程序段中S语句的执行频度为。
for(i=0;i<n;i++ )for(j=0;j<i;j++ )S;2. 下列算法的时间复杂度是()。
for(i=0;i<n;i++ )c[i]=i;3. 算法的时间复杂度可表示为O(1)、线性阶、平方阶O(n2)、对数阶O(logn)和指数阶O(2n)等。
4 以下关于数据结构的基本概念中,叙述正确的是A) 数据元素是数据不可分割的最小单位。
B) 数据是数据对象的子集。
C) 数据元素之间的关系在计算机中可用顺序映像和非顺序映像两种不同的方法表示。
D) 数据结构在计算机中的表示又称为逻辑结构。
5. 在数据结构中,数据的逻辑结构包括()。
线性结构和非线性结构B) 逻辑结构和物理结构顺序结构和链式结构D) 虚拟结构和抽象结构6. 在数据结构中,数据的存储结构包括。
线性结构和非线性结构B) 逻辑结构和物理结构C) 顺序结构和链式结构D) 虚拟结构和抽象结构7. 线性结构的数据元素之间存在一种( )。
A.一对多关系B.多对多关系C.多对一关系D.一对一关系8. 在长度为n的顺序表中插入一个元素,需要平均移动个元素。
A) n/2 B)nC) n(n-1) D) n(n+1)9. 在有n个元素的顺序表中做插入、删除运算,平均时间复杂度为。
10. 顺序表中逻辑上相邻的元素物理位置相邻,单链表中逻辑上相邻的元素的物理位置相邻。
A)必然、必然B)必然、不一定C)不一定、必然D)不一定、不一定11.相对于顺序存储而言,链式存储的优点是()。
A.随机存取B.节约空间C.增、删操作方便D.节点间关系简单12 以下关于头结点的描述中,叙述错误..的是A) 头结点是对链表首元结点的别称B) 若链表中附设头结点,则头指针一定不为空C) 头结点中不存储链表的数据元素,而是一些诸如表长之类的辅助信息D) 在单链表中附设头结点,插入或删除首元素时不必进行特殊处理13.已知L是无表头结点的单链表,且P所指结点既不是首元结点,也不是尾元结点,则在P之后插入S所指结点,则执行()。
A) S->next=P->next;P->next=S;B) P->next=S->next;S->next=P;C) S->next=P;P->next=S;D) P->next=S;S->next=P;14. 已知L是带表头结点的非空单链表,且P结点是S结点的直接前驱。
则删除S结点的语句序列为。
I. P->next = S ;free(P)II. P->next = P->next->next; free(S)III. P->next = S->next; free(S)IV. P = P->next ;free(S)A) I和II正确B) II和III正确C) III和IV正确D) 全部正确15. 已知L是带表头结点的单链表,则删除首元结点的语句序列是()。
A) L->next =L->next->next; free(L)B) P = L ;L= P->next ;free(P)C) P = L->next ; L->next= P->next ;free(P)D) P = L ;L= P->next ;free(P)16. 已知L是一带有头结点的单链表的头指针,则该单链表为空的条件是。
17. 已知P结点是某双向链表的中间结点,则删除P结点的语句序列是,,free(P);18. 设将整数1,2,3,4,5依次进栈,最后都出栈,出栈可以在任何时刻(只要栈不空)进行,则出栈序列不可能的是()。
A) 32415 B) 45231 C) 32145 D) 4532119. 设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列__________。
A) A, B, C, D, E B) B, C, D, E, AC) E, A, B, C, D D) E, D, C, B, A20. 设有栈S和队列Q,其初始状态为空,元素a1,a2,a3,a4,a5,a6依次入栈,出栈的元素进入队列Q。
若元素出队列的顺序是a2,a4,a3,a6,a5,a1,则栈的容量至少是。
21. 某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,则abcde顺序入队,不可能得到的顺序是()。
A.bacde B.dbace C.dbcae D.ecbad22. 设用一维数组A[n]存储一个栈,令A[n]为栈底,用整型变量T指示当前栈顶位置,A[T]为栈顶元素。
当从栈中弹出一个元素时,变量T的变化为()。
A) T=T+1 B) T=T-1C) T不变D) T=n-123. 在具有m个单元的顺序存储的循环队列中,假定front和rear 分别为队首指针和队尾指针,则判断队满的条件是()A. front== (rear+1) % mB. front+1== rearC. front== rearD. rear== m24. 在具有n个单元的顺序存储的循环队列中,假定front和rear 分别为队首指针和队尾指针,则判断队空的条件是()A)front== (rear+1) % n B)front+1==rearC)front==rear D)front==025. 循环队列用数组A[n]存放其数据元素。
设f指向其实际的队头,r指向其实际队尾的下一个位置,则计算队列中元素个数的公式为。
A) r-f B) (n+f-r)%n C) n+f-r D)(n+r-f)%n26 在串的运算中,StrLength(Concat (’aa’,’bb’))的返回值为A) 0 B) 8 C) 6 D) 427.设s1=”I have_”,s2=”a dream”,则strcat(s1, s2)的值是,SubString(s1,4,3)的值是。
28. 设s1=”I am a student”,s2=”a student”,则Index(s1,s2)的值是。
29. 设二维数组A[0…m-1][0…n-1]按行优先顺序存储在内存中,第一个元素的地址为p,每个元素占k个字节,则元素aij的地址为__________。
A.p +[i*n+j]*k B.p+[(i-1)*n+j-1]*kC.p+[(j-1)*n+i-1]*k D.p+[j*n+i]*k30. 一个非空广义表的表头()。
A.一定是子表B.一定是原子C.不能是子表D.可以是原子,也可以是子表31. 设广义表L=((a,b),c,( )),则head(L)=,tail(L)=。
32. 设循环队列的存储空间为Queue[30],初始状态为front=rear=0。
现经过一系列入队与出队操作后,front=16,rear=15,则循环队列中有个元素。
A)1 B)29C)30 D)033. 已知二维数组A[0..5,0..7]按行存放,其起始存储位置为1000,每个元素占用4个字节,则元素A[4,6]的第一个字节的地址为。
A) 1148 B) 1168C) 1152 D) 1172二、算法题1. 写出下列程序段的功能。
Status A(LinkedList L) {//L是无表头结点的单链表If(L &&L->next){Q=L; L=L->next; P=L;While (P->next) P=P->next;P->next=Q; Q->next=NULL; }Return OK; }2. 简述以下算法的功能(栈的元素类型SElemType为int)。
(1) status algo1(Stack S){int i,n,A[255];n=0;while(!StackEmpty(S)) { n++; Pop(S,A[n]); }for(i=1;i<=n;i++) Push(S,A[i]);}(2) status algo2(Stack S,int e){Stack T; int d;InitStack(T);while(!StackEmpty(S)){Pop(S,d);if(d!=e) Push(T,d);}while(!StackEmpty(T)){Pop(T,d);Push(S,d);}}3. 写出下列程序段的输出结果。
(1)void main(){Stack S;char x,y;InitStack(S);x=’i’; y=’s’;Push(S,x); P ush(S,’r’); Push(S,y);Pop(S,x); Push(S,’h’); Push(S,x);Pop(S,x); Push(S,’c’);while (!StackEmpty(S)) {Pop(S,y);printf(y);}printf(x);}(2)void main(){Queue Q; InitQueue(Q);char x=’e’, y=’c’;EnQueue(Q, ‘a’); EnQueue(Q, ‘d’); EnQueue(Q, y); DeQueue(Q, x); EnQueue(Q, x);DeQueue(Q, x); EnQueue(Q, ‘r’);while (!QueueEmpty(Q)) { DeQueue(Q, y); printf(y); }printf(x);}4. 已知L是带头结点的单链表。
试写一算法求该单链表的长度。
5. 已知L是带头结点的单链表。
试写一算法在该链表上查找值为x的元素。
6. 将带头结点的L中的第i个数据元素删除。
7. 在带头结点的L中第i个元素之前插入数据元素e 。
8. 正位序输入n个元素的值,建立带头结点的单链表L。
9. 已知线性表中的元素以值递增有序排列,并以带有头结点的单链表作存储结构。
试写一算法删除表中所有值大于mink且小于maxk的元素,同时释放被删除的结点空间。
10. LA和LB是两个数据元素按升序排列的单链表,将LA和LB 合并为有序单链表LC。
写出这两个有序链表合并的算法。
第六章习题一、单选或填空题1. 已知完全二叉树的第7层上有10个叶子结点,则整个二叉树的结点数最多是A) 73 B) 63 C) 235 D) 2452. 300个结点的完全二叉树的叶结点有个。
3.一个具有1025个结点的二叉树的高h为____。
A)11 B)10 C)11至1025之间D)10至1024之间4. 将一棵有100个节点的完全二叉树从上到下,从左到右依次对节点进行编号,根节点的编号为1,则编号为49的节点的右孩子编号为()。