数据结构总复习题(da-an)
数据结构复习题及答案
中南大学现代远程教育课程考试(考试)复习题及参考答案数据结构(使用教材:余腊生编著,人民邮电出版社出版,《数据结构—基于C++模板类的实现》一、判断题1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
[ ] 2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
[ ]3.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
[ ] 4.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
[ ] 5.一个广义表的表尾总是一个广义表。
[ ] 6.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
[ ] 7.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
[ ] 8.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
[ ] 9.直接选择排序是一种稳定的排序方法。
[ ] 10.30、闭散列法通常比开散列法时间效率更高。
[ ] 11.有n个结点的不同的二叉树有n!棵。
[ ] 12.直接选择排序是一种不稳定的排序方法。
[ ] 13.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
[ ] 14.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
[ ] 15.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
[ ] 16.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
在设计再散列函数时,要求计算出的值与表的大小m互质。
[ ] 17.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
[ ] 18.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
《数据结构》复习题题库
一、单项选择题(本大题共71小题,每小题2分,共142分)1、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。
()A.{38,46,79,56,40,84}B.{38,79,56,46,40,84}C.{40,38,46,56,79,84}D.{38,46,56,79,40,84}标准答案:C2、广义表((a),a)的表头是()。
()A.aB.bC.(a)D.((a))标准答案:C3、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。
()A.80B.100C.240D.270标准答案:C4、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。
()A.HL=p;p->next=HL;B.p->next=HL;HL=p;C.p->next=HL;p=HL;D.p->next=HL->next;HL->next=p;标准答案:B5、一个具有n个顶点的无向完全图的边数为()。
()A.(n+1)/2B.n(n-1)/2C.n(n-1)D.n(n+1)标准答案:B6、如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。
下列选项中,()就是不稳定的排序方法。
()A.起泡排序B.归并排序C.直接插入法排序D.简单选择排序标准答案:D7、按照二叉树的定义,具有3个结点的二叉树有()种。
()A.3B.4C.5D.6标准答案:C8、设有1000个元素,用二分法查找时,最大比较次数是()。
()A.1B.7C.10D.25标准答案:C9、树适合用来表示()。
()A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据标准答案:C10、设有两个串p和q,求p在q中首次出现的位置的运算称作()。
数据结构复习题及答案5篇
数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
()5.如果两个串含有相同的字符,则这两个串相等。
()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。
()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
()9.一个广义表的表尾总是一个广义表。
()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
()13.直接选择排序是一种稳定的排序方法。
()14.闭散列法通常比开散列法时间效率更高。
()15.有n个结点的不同的二叉树有n!棵。
()16.直接选择排序是一种不稳定的排序方法。
()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
《数据结构》期末考试复习题及参考答案
数据结构复习题(课程代码 252259)一、填空题(本大题共40小题)1.队列中是按照______先进先出______的原则进行数据元素的增删。
2.___栈__又称为LIFO表。
3.在顺序存储的完全二叉树中,若编号为i的结点有左孩子结点,则其右孩子结点的编号为___2i+1___。
4.存储地址与关键字之间存在某种映射关系的存储结构为_______散列存储结构_______。
5.在串S=“structure”中,以r为首字符的子串有_9_个。
6.设有整型二维数组M[4][3],每个元素(整数)占2个存储单元,元素按行的顺序存储,数组的起始地址为200,元素M[1][1]的地址是___208____。
7.在一个具有n个顶点的无向完全图中,包含有___ n(n-1)/2_____条边,在一个具有n个顶点的有向完全图中,包含有__ n(n-1)______条边。
8.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为_____(12,40)()(74)(23,55,63)____。
9.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度____增加1______。
10.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为__ O(log2n)______,整个堆排序过程的时间复杂度为__ O(nlog2n)______。
11.在快速排序、堆排序、归并排序中,____归并_____排序是稳定的。
12.一棵深度为5的满二叉树中的结点数为_______31_______个。
13.在含n个顶点和e条边的无向图的邻接矩阵中,非零元素的个数为__2e __。
14.从一棵二叉排序树中查找一个元素时,若元素的值大于根结点的值,则继续向____右子树____查找。
15._____拓朴排序______可以判断出一个有向图中是否有环。
数据结构复习题(附答案)
数据结构复习题(附答案)1. 快速排序在最坏情况下的时间复杂度为( D )。
A.O(log2n) B.O(nlog2n) C.O (n) D. O (n2)2.设⼀棵⼆叉树的深度为k,则该⼆叉树中最多有( D )个结点。
A. 2k-1B. 2kC.2k-1D. 2k-13.⼆叉树中第i(i≥1)层上的结点数最多有( C )个。
A. 2iB. 2iC. 2i-1D. 2i-1 4.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( A )。
A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p5.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量⾄少应该是( C )。
A. 6B. 4C. 3D. 26.设有以下四种排序⽅法,则( B )的空间复杂度最⼤。
A. 冒泡排序B. 快速排C. 堆排序D. 希尔排序7.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为( B )。
A. 3B. 4C. 5D. 18.根据⼆叉树的定义可知⼆叉树共有( B )种不同的形态。
A. 4B. 5C. 6D. 79.对⼀个算法的评价,不包括如下( A )⽅⾯的内容。
A.并⾏性 B.健壮性和可读性 C.正确性 D.时空复杂度10.在⼆叉排序树中插⼊⼀个结点的时间复杂度为( C )。
A.O(1) B.O(n) C.O(log2n) D.O(n2)11. 队列是⼀种( B )的线性表。
A.先进后出B.先进先出 C.只能插⼊D.只能删除12.采⽤开放定址法处理散列表的冲突时,其平均查找长度( C )。
A.低于链接法处理冲突 B. 与链接法处理冲突相同C.⾼于链接法处理冲突 D.⾼于⼆分查找13.设有序顺序表中有n个数据元素,则利⽤⼆分查找法查找数据元素X的最多⽐较次数不超过( A )。
数据结构期末复习题
数据结构期末复习题一、选择题1.以下说法中不正确的是(D)。
A.数据元素是数据的基本单位B.数据项是不可分割的最小可标识单位C.数据可由若干个数据元素构成D.数据项可由若干个数据元素构成2.计算机所处理的数据一般具备某种在联系,这是指(B)。
A.数据和数据之间存在某种关系B.元素和元素之间存在某种关系C.元素部具有某种结构D.数据项和数据项之间存在某种关系3.在数据结构中,与所使用的计算机无关的是数据的(A)结构。
A.逻辑B.存储C.逻辑和存储D.物理4.数据的逻辑结构可以分为(C)两类。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.部结构和外部结构5.数据的逻辑结构是指(A)关系的整体。
A.数据元素之间逻辑B.数据项之间逻辑C.数据类型之间D.存储结构之间6.以下数据结构中(D)属非线性结构。
A.栈B.串C.队列D.平衡二叉树7.以下属于逻辑结构的是(C)。
A.顺序表B.哈希表C.有序表D.单链表8.以下不属于存储结构的是(A)。
A.栈B.线索二叉树C.哈希表D.双链表9.在计算机中存储数据时,通常不仅要存储个数据元素的值,而且还要存储(C)。
A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法10.数据结构在计算机存中的表示是指(A)。
A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系11.在数据的存储结构中,一个结点通常存储一个(B)。
A.数据项B.数据元素C.数据结构D.数据类型12.在决定选择何种类型的存储结构时,一般不多考虑(A)。
A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用编程语言实现这种结构是否方便13.计算机中算法指的是解决某一问题的有限运算序列,它必须具备输入、输出、(B)。
A.可行性、可移植性和可扩充性B.可行性、有穷性和正确性C.正确性、有穷性和稳定性D.易读性、稳定性和正确性14.以下关于算法的说确的是(D)。
2010wgy《数据结构》总复习题参考答案
1
27.带有一个头结点的单链表 head 为空的条件是 28.在 hq 的链队列中,判定只有一个结点的条件是
head->next==NULL 带头结点
带头结点
29.在一个长度为 n 的循环链表中,删除其元素值为 x 的结点的时间复杂度为 __ O(n)____。 30.已知一棵二叉树的先序序列为 ABCD ,中序序列为 BCAD ,则它的后序序列为 __cbda____。 31.对关键字序列 (50, 34,92,19, 11,68,56, 41,79) 进行直接插入排序,当将第 7 个关键字 56 插入到当前的有序子表中时,为寻找插入位置需进行 ___3___次关键字之间的比较。 32.将有序表中 n 个元素依次插入到一棵空的二叉排序树中,则在等概率查找的情况下,该二叉排 序 树在查找成功时的平均查找长度是 __(n+1)/2____。特别注意是有序表 33.已知二叉树中叶子数为 50,仅一个孩子的结点数为 30,则总结点数____。度为 2 的结点数 49 34.直接选择排序算法在最好情况下所作的交换元素的次数为____0________。 35.有 n 个顶点的连通图至少有_n-1___条边。 36.在双向链表中,删除指针 P 所指结点的语句序列是_______略_____________________,在 p 之 后插入 s 节点的语句序列是___________________略___________________________________。 37.在有 n 个叶子结点的哈夫曼树中,总结点数是 __略__。 38.在有序表 A[1..18]中,采用二分查找算法查找元素值等于 A[7]的元素,所比较过的元素的下标 依次为____________________。9,4,6,7 39.链表对于数据元素的插入和删除不需移动结点,只需改变相关结点的 ____指针____域的值。 40.在一个链式栈中,若栈顶指针等于 NULL 则为__空______。 41.n (n﹥0) 个顶点的无向图最多有____n(n-1)/2____条边,最少有____0____条边。
数据结构复习题(2021计科)
A 借助二叉树上的运算方法去实现对树的一些运算
B 将树、森林按二叉树的存储方式进行存储并利用二叉树的算法解决树的有关问
题
C 将树、森林转换成二叉树
D 体现一种技巧,没有什么实际意义
12. 算法指的是( )。
A 对特定问题求解步骤的一种描述,是指令的有限序列。 B 计算机程序
C 解决问题的计算方法 D 数据处理
标的范围是从 0~9, A 的第 8 列和第 5 行共占(
)个字节。
A 114 B 54 C 108
D 540
25. 在一棵树中,每个结点最多有 (
) 个前驱结点。
A.0
B.1
C.2
D.任意多个
26. 一个队列的入队顺序是 1,2,3,4,则队列的输出顺序是( )。
A 4321 B 1234 C 1432 D 3241
A 必须是连续的 B 部分地址必须是连续的 C 一定是不连续的 D 连续与否均
可以
34. 线性表的最后一个元素叫做( )。
A.表头元素
B.表尾元素
C.前驱元素
D.后继元素
35. 设二叉树有 n 个结点,则其深度为( )。
A n-1 B n
C log2n 向下取整
15. 在一个单链表中,已知 q 所指结点是 p 所指结点的直接前驱,若在 q 和 p 之
间插入 s 所指结点,则执行( )操作。
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;
A 不变 B top=top-1 C top=0 D top=top+1
数据结构期末复习题(有答案)
一、单选题1. 从物理上可以把数据结构分为(B)两大类。
A. 动态结构、静态结构B. 顺序结构、链式结构C. 线性结构、非线性结构D. 初等结构、构造型结构2. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(C )(1≤i≤n+1)。
A. O(0)B. O(1)C. O(n)D. O(n2)3. 链表不具有的特点是(B)。
A. 插入、删除不需要移动元素B. 可随机访问任一元素C. 不必事先估计存储空间D. 所需空间与线性长度成正比4. 下列排序算法中(C)排序在一趟结束后不一定能选出一个元素放在其最终位置上。
A. 选择B. 起泡C. 归并D. 堆5. 在下列排序算法中,哪一个算法的时间复杂度与初始排序无关(D )。
A. 插入排序B. 起泡排序C. 快速排序D. 选择排序6. 一个栈的输入序列为1,2,3,…,n,若输出序列的第一个元素是i,则第j个输出元素是(D)。
A. i-j-1B. i-jC. j-i+1D. 不确定7. 输入序列为ABC,可以变为BCA时,经过的栈操作为(D )。
A. push,pop,push,pop,push,popB. push,push,push,pop,pop,popC. push,push,pop,pop,push,popD. push,push,pop,push,pop,pop8. 有六个元素6 5 4 3 2 1 的顺序进栈,下列(C )不是合法的出栈序列。
A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 4 1 5 69. 串的长度是指(B )。
A. 串中所含不同字母的个数B. 串中所含字符的个数C. 串中所含不同字符的个数D. 串中所含非空格字符的个数10. 设二维数组A[1.. m,1.. n](即m行n列)按行存储在数组B[1.. m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为( A)。
数据结构期末复习题及答案1
一、是非题1.数据结构概念包括数据之间的逻辑结构,数据在计算机中的存储方式和数据的运算三个方面。
.......................( T )2.线性表的逻辑顺序与物理顺序总是一致的........( F )3.线性表中的每个结点最多只有一个前驱和一个后继。
......( T )4.线性的数据结构可以顺序存储,也可以链接存储。
非线性的数据结构只能链接存储。
.......................( F )5.栈和队列逻辑上都是线性表。
..........................( T )6.单链表从任何一个结点出发,都能访问到所有结点........( F )7.单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个结点。
.................................................( T )8.在用单链表表示的链式队列中,队头在链表的链尾位置。
....( F )9.多维数组是向量的推广。
..............................( T )10.栈是一种先进先出的线性表。
....( F )11.凡是递归定义的数据结构都可以用递归算法来实现它的操作。
......( T )12.设串S的长度为n,则S的子串个数为n(n+1)/2。
...........( F )13.一般树和二叉树的结点数目都可以为0。
................( F )14.按中序遍历二叉树时,某结点的直接后继是它的右子树中第1个被访问的结点。
....( T )15.后序序列和中序序列能唯一确定一棵二叉树。
....( T )16.对于一棵具有n个结点,其高度为h的二叉树,进行任—种次序遍历的时间复杂度为O(n) .............( T )17.网络的最小代价生成树是唯一的。
...( T )18.图的拓扑有序序列不是唯一的。
大学数据结构期末考试复习题(一)
数据结构期末复习题一一、选择题1、以下数据结构中,是非线性数据结构的是()A树 B 队列 C 栈 D 串2、从逻辑上可以把数据结构分为()两大类。
A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构3、以下关于链式存储结构的描述中,是不正确的。
A结点除自身信息外还包括指针域,因此存储密度小于链式存储B 逻辑上相邻的结点物理上不必相邻C 可以通过计算直接确定第i个结点的地址D 插入删除方便,不必移动结点4、带头结点的单链表head为空的判定条件是()A.head == NULL B.head->next == NULLC.head->next == head D.head != NULL5、.假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是()A.head= =NULLB.head–>next= =NULLC.head!=NULLD.head–>next= =head6、已知一个单链表中,指针q指向指针p的前趋结点,若在指针q所指结点和指针p所指结点之间插入指针s所指结点,则需执行()A.q→next=s;p→next=s; B.q→next=s;s→next=p;C.q→next=s;q→next=p;D.q→next=s;s→next=q;7、.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为( )A.236B.239C.242D.2458、在线性表的下列运算中,不改变数据元素之间结构关系的运算是()A.插入 B.删除 C.排序D.定位9、循环单链表L中,指针P所指结点为表尾结点的条件是()A P==nullB P->next==nullC P->next==L L->next==P二、填空题1、一个算法具有5个特性:,,,零个或多个输入,一个或多个输出。
数据结构 总复习题
一、填空1. 在顺序表中插入或删除一个元素,需要平均移动一半元素,具体移动的元素个数与表长和该元素在表中的位置有关。
2. 线性表中结点的集合是有限的的,结点间的关系是一对一的。
3. 向一个长度为n的线性表的第i个元素(1≤i≤n+1)之前插入一个元素时,需要向后移动n-i+1 个元素。
4. 向一个长度为n的线性表中删除第i个元素(1≤i≤n)时,需向前移动n-i 个元素。
5. 在顺序表中访问任意一结点的时间复杂度均为___0___,因此,顺序表也称为随机存取的数据结构。
6. 顺序表中逻辑上相邻的元素的物理位置必定相邻。
单链表中逻辑上相邻的元素的物理位置不一定相邻。
7. 栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。
不允许插入和删除运算的一端称为栈底。
8. 队列是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
9. 不包含任何字符(长度为0)的串称为空串;由一个或多个空格组成的串称为空白串。
10. 设S=“A:/document/Mary.doc”,则strlen(s)=20 , “/”的字符定位的位置为3 。
11. 子串的定位运算称为串的模式匹配;主串称为目标串,子串称为模式。
12.由3个结点所构成的二叉树有种形态。
13. 一棵深度为6的满二叉树有个分支结点和个叶子。
14.一棵具有257个结点的完全二叉树,它的深度为。
15. 设一棵完全二叉树有700个结点,则共有个叶子结点。
16. 设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。
17. 在数据的存放无规律而言的线性表中进行检索的最佳方法是。
18. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为;比较四次查找成功的结点数为;平均查找长度为。
19.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素比较大小。
数据结构复习题
数据结构复习题第一章抽象数据类型数据结构基本要素数据逻辑结构------集合、线性、树型、图数据存储结构------- 顺序、链接、散列、索引算法及其分析----时间复杂度,空间复杂度,O()练习题1 数据结构形式地定义为(D,R),其中D是_________的有限集合,R是D上的_________ 有限集合。
2 数据结构包括数据的____________、数据的_______________和数据的___________三个方面的内容。
3 计算机算法指的是()A. 计算方法B. 排序方法C. 解决问题的有限运算序列D. 调度方法4 在数据结构中,从逻辑上可以把数据结构分为()A. 动态结构和静态结构B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构5 数据结构在计算机内存中的表示是()A. 数据的存储结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系第二章线性表----(直接)前驱、(直接)后继抽象数据类型-----插入操作、删除操作顺序表-----数据元素存储地址的计算链接表(插入+删除)----结点结构:数据域+ 指针域,单链表,双向链表,循环链表链表中头结点的用途习题1设有一线性表e=(e1, e2, …, en),其逆线性表定义为e’=(en, en-1, …, e2,e1)。
请设计一个算法,将用顺序表表示的线性表逆置,要求逆线性表仍占用原线性表的存储空间。
2写一个算法,在带头结点的单链表list中,删除p所指的结点,并返回成功与否的标志。
3一个长度为n的线性表,在其第i个元素(1≤i≤n)之前插入一个元素时,需向后移动____________个元素;删除第i个元素时,需要向前移动____________个元素。
4链表不具备的特点是()A. 可随机访问任一结点B. 插入删除不需要移动元素C. 不必事先估计存储空间D. 所需空间与其长度成正比5 如果最常用的操作是取第i个结点及其前驱,则采用()存储方式最节省时间。
数据结构期末复习题库(215道)
数据结构期末复习1、算法分析的目的是分析算法的效率以求改进,算法分析的两个主要方面是()——[单选题]A 空间复杂性和时间复杂性B 正确性和简明性C 可读性和文档性D 数据复杂性和程序复杂性正确答案:A2、两类存储结构为()——[单选题]A 线性结构和非线性结构B 逻辑结构和非逻辑结构C 顺序结构和链式结构D 逻辑结构和物理结构正确答案:C3、计算机算法指的是解决问题的有限运算序列,它必具备输入、输出和()等五个特性。
——[单选题]A 可行性、可移植性和可扩充性B 可行性、确定性和有穷性C 确定性、有穷性和稳定性D 易读性、稳定性和安全性正确答案:B4、在 C 语言中,有一种适用于不同数据类型构成的数据的结构称为()——[单选题]A 结构体B 数组C 变量D 常量正确答案:A5、在定义数组 int a[10]后,需要访问数组中第 3 个元素,正确的是()——[单选题]A a[0]B a[1]C a[2]D a[3]6、分析以下程序段,其时间复杂度为 T(n)=() for( i =0; i<n;i++)For(j=0;j<i;j++) A[i][j] = 0;——[单选题]A O(n)B O(n^2)C O(n^3)D O(1)正确答案:B7、数据元素之间存在一对多的关系,这种数据间的结构属于()——[单选题]A 集合B 线性结构C 树型结构D 图型结构正确答案:C8、有一个结构体及其变量定义如下: struct date{Int year; int month; intday;}birthday;此时要调用变量中的 year,正确的书写格式是()——[单选题]A yearB birthday.yearC date.yearD struct.year正确答案:B9、在数据结构中,从逻辑上可以把数据结构分成()——[单选题]A 动态结构和静态结构B 紧凑结构和非紧凑结构C 线性结构和非线性结构D 内部结构和外部结构正确答案:C10、分析下面算法(程序段),该算法的时间复杂度 T(n)=() for (i=0;i<n;i++)For (j=0;j<n; j++) A[i][j]=0;——[单选题]A O(n)B O(n^2)C O(n^3)D O(1)11、当定义一个结构体变量时,系统为它分配的内存空间是()——[单选题]A 结构体中一个成员所需的内存容量B 结构体中第一个成员所需的内存容量C 结构体中占内存容量最大者所需的容量D 结构体中各成员所需内存容量之和正确答案:D12、分析以下程序段,其时间复杂度为 T(n)=() x=0;For(i=1;i<n;i++);for(j=1;j<n;j++);For(k=1;k<n;k++); x++;——[单选题]A O(n)B O(n^2)C O(n^3)D O(1)正确答案:A13、有结构体定义及结构体类型数组如下: struct worklist{Int no;Char name[20]; char sex;}person[5];需要给结构体数组中第 2 个变量的 no 成员赋值为 5,正确的写法是()——[单选题]A no=5;B person.no=5;C person[2].no=5;D person[1].no=5;正确答案:D14、分析以下程序段,其时间复杂度为 T(n)=() i=1;While(i<=n) i=3*i;——[单选题]A O(n)B O(n^2)C O(n^3)D O(1)正确答案:D15、线性表是具有 n 个()的有限序列。
数据结构复习题(带答案)
装订第 1 页 共 11 页一、选择题1.设某数据结构的二元组形式表示为A=(D ,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A 是( B )。
(A )线性结构 (B )树型结构 (C )物理结构 (D )图型结构 2.树最适合用来表示( C )。
(A )有序数据元素 (B )无序数据元素(C )元素之间具有分支层次关系的数据 (D )元素之间无联系的数据3. 设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为( B )。
(A) 40,50,20,95 (B) 15,40,60,20 (C) 15,20,40,45 (D) 45,40,15,204. 算法的计算量的大小称为计算的( B )。
(A) 效率 (B) 复杂性 C. 现实性 D. 难度5. 设一维数组中有n 个数组元素,则读取第i 个数组元素的平均时间复杂度为( C )。
(A) O(n) (B) O(nlog 2n) (C) O(1) (D) O(n) 6.下面算法的时间复杂度为( B )。
int f(int n) {if(n==0||n==1)return 1; else return n*f(n-1); }(A) O(1) (B)O(n) (C)O(n2) (D) O(n!) 7. 以下哪一个不是队列的基本运算?( A )(A )在队列第i 个元素之后插入一个元素 (B )从队头删除一个元素 (C )判断一个队列是否为空 (D )读取队头元素的值 8.不含任何结点的空树。
( C )(A)是一棵树; (B)是一棵二叉树;(C)是一棵树也是一棵二叉树 (D)既不是树也不是二叉树9. 若某线性表的常用操作是取第i 个元素及其前趋元素,则采用( A )存储方式最节省时间。
《数据结构》期末复习题
4.每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做()排序
A.插入B.交换
C.选择D.归并
5.在一个图中,所有顶点的度数之和等于所有边数的( )倍。
A.2B.1
C.3D.4
6.队列的删除操作是在()进行。
A.队首B.队尾
C.队前D.对后
C.树是一种线性的数据结构
D.用一维数组存储二叉树,总是以先序顺序遍历各结点
25.在计算机的存储器中表示时,物理地址与逻辑地址相同并且是连续的,称之为B
A.逻辑结构B.顺序存储结构
C.链式存储结构D.以上都不对
26.以下关于算法特性的描述中,B是正确的。
(1)算法至少有一个输入和一个输出
(2)算法至少有一个输出但是可以没有输入
《数据结构》期末复习题
一、单选题
1.某程序的时间复杂度为(3n+nlog2n+n2+8),其数量级表示为()。
A.O(n)B.O(nlog2n)
C.O(n2)D.O(log2n)
2.队列的插入操作是在()进行。
A.队首B.队尾
C.队前D.对后
3.二叉树上叶结点数等于()。
A.分支结点数加1B.单分支结点数加1
A.1207 B.1209
C.1211 D.1213
55. 算法指的是()
A.计算机程序B.计算方法
C.排序算法D.解决问题的有限运算序列
56.在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行()。
A s→link=p→link; p→link=s; B p→link=s; s→link=q;
数据结构与算法期末考试复习试题
《数据结构与算法》复习题一、选择题。
1.在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑 B.存储 C.逻辑和存储 D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
A.数据的处理方法 B.数据元素的类型C.数据元素之间的关系 D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少C.对数据有哪些运算 D.所用的编程言语完成这种结构是否方便。
6.以下说法正确的选项是 D 。
A.数据项是数据的根本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些外表上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改良 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是 O(n2) 。
s =0;for( I =0; i<n; i++)for(j=0;j<n;j++)s +=B[i][j]; sum = s ;9.下面程序段的时间复杂度是 O(n*m) 。
for( i =0; i<n; i++)for(j=0;j<m;j++)A[i][j] = 0;10.下面程序段的时间复杂度是 O(log3n) 。
i = 0;while〔i<=n〕i = i * 3;11.在以下的表达中,正确的选项是 B 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构总复习题一、填空题1.数据结构是研究数据的__逻辑结构_和_物理结构,并在这种结构上定义相关的运算,设计实现这些运算的算法,分析算法的效率。
算法的效率包括时间和空间两个方面,分别称为___时间复杂度__和__空间复杂度___。
2.数据的基本单位是__数据元素,数据的最小单位是__ 数据项。
3.算法是对特定问题求解___步骤____的一种描述,是指令的有限序列。
4.一个算法的时间复杂度为(3n3+2n—7),其数量级表示为O(n3)。
5.一个算法具有5个特性:确定性、可行性、有穷性、输入和输出。
6.算法性能的分析和度量,可以从算法的时间复杂度和空间复杂度来评价算法的优劣。
7.数据的逻辑结构包括集合结构、线性结构、树形结构和图型结构四种类型。
8.通常象交通、道路问题的数学模型是一种称为图型结构的数据结构。
9.数据结构在计算机中的表示称为数据的物理结构,它可以采用___顺序存储___或_链式存储__两种存储方法。
10.线性表有两种存储结构,分别为顺序存储和链式存储。
11.链式存储的特点是利用指针来表示数据元素之间的逻辑关系。
12.若频繁地对线性表进行插入和删除操作,该线性表宜采用_链式存储____存储结构。
13.线性表中的数据元素之间具有一对一的线性关系,除第一个和最后一个元素外,其他数据元素有且只有一个直接后继和直接前趋。
14.顺序表中逻辑上相邻的元素的物理位置_也相邻____。
15.在单链表L中,指针P所指结点有后继结点的条件是__p->next!=NULL__。
16.在顺序存储的线性表中插入或删除一个元素平均约移动表中__50%_(或一半)_的元素.17.在一个单链表中p所指结点之后插入一个s所指结点时,应执行s->next=_p->next__和p->next=__s____的操作。
18.在一个单链表中删除p的后继结点q时,应执行以下操作p->next= q->next。
19.对带头结点head的单链表,则判断其为空的条件为head->next=NULL。
20.对带头结点head的循环单链表尾结点(由p所指向)判非空的条件为p->next=head。
21.在栈结构中,允许插入的一端称为栈顶;在队列结构中,允许插入的一端称为队尾。
22.栈是一种特殊的线性表,它允许在表的一端进行_插入和删除___操作,栈中元素的进出原则为__先进后出__。
23.队列中元素的入队和出队应遵循 _先进先出___原则,数据元素1,2,3,4,5按照次序入队后,第一个出队的是__ 1 ____。
24.在循环队列中,存储空间为0~n-1。
设队头指针front指向队头元素前一个空闲元素,队尾指针指向队尾元素,那么其队空标志为rear=front,队满标志为(rear+1)% n=front。
25.假定一个顺序队列的对首和队尾分别为f和r,则判断队空的条件为_f=r____。
26.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为239。
27.在一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动n-i个元素。
28.在一个长度为n的顺序表中第i个元素前(1≤i≤n),插入一个元素,需向后移动n-i+1个元素。
29.若线性表采用顺序存储结构,线性表的最大长度为1000,每个数据元素占3个存储单元,则要分配给该线性表____3000______存储单元,若第一个数据元素的存储地址是2000,则第11个元素的存储地址是_____2030_____。
30.二维数组有两种存储方式,第一种是以___行__为主序的存储方式,第二种是以___列__为主序的存储方式。
现有一个二维数组A[6][7] ,按第一种方式存储,A[0][0]的存储地址是1000,每个元素占5个字节,则元素A[3][5]的存储地址是___1115_ __。
1000+(3*7+5)*531.设有一个二维数组A[5][4],按行序优先存储,A[0][0]的存储地址是10,每个数组元素占2个字节,则A[3][2]的存储地址是_128(10+(3*4+2)*2_)__。
32.现有一个二维数组A[6][8] ,若以行为主序顺序存储, A[0][0]的存储地址是2000,每个元素占2个字节,则元素A[3][5]的存储地址是____2046 _。
若以列为主序顺序存储, 则元素A[3][5]的存储地址是_ 2086。
33.两个串相等的充分必要条件是:___串长相等___ 且 __对应的字符相等___。
34.不含任何字符的串称为空串其长度为0。
35.对于稀疏矩阵的压缩存储,通常用一个三元组表示非零元素的信息,其中包括非零元素所在的行、列以及它的值。
36.若二叉树中有20个叶子结点,则该二叉树有19个度为2的结点。
37.若二叉树中度为2的结点有15个,则该二叉树有___16____个叶子结点。
38.深度为h且有___2^h-1___个结点的二叉树称为满二叉树。
39.深度为k的二叉树最多有2^k-1个结点,最少有k 个结点,第i 层上最多有___2^(i-1)__个结点。
40.深度为5的满二叉树共有31个结点,其中有__16___个叶子节点。
41.若深度为6的完全二叉树的第6层有3个叶结点,则该二叉树一共有34个结点。
42.深度为15的满二叉树上,第11层有1024个结点。
43.一棵具有100个结点的完全二叉树,它的深度为 7,其中度为1的结点有1个。
44.某二叉树的后根遍历序列为abd,中根遍历序列为adb,则它的先根遍历序列为dab。
45.哈夫曼树是指对于一组带有确定权值的叶子结点构造的具有最小带权路径长度的二叉树。
46.具有m个叶子结点的哈夫曼树共有2m-1个结点。
47.已知一棵哈夫曼树含有60个叶子结点,则该树中共有59个非叶子结点。
48.由五个分别带权值为9,2,3,5,14的叶子结点构成的一棵哈夫曼树,该树的带权路径长度为_67__。
49.在一个具有n个顶点无向完全图中,含有n(n-1)/2边;在一个具有n个顶点有向完全图中,含有n(n-1)边。
一个具有4个顶点的无向完全图有6条边。
50.在一个有向图中,某个结点的度是指该结点的__出度___和___入度___之和。
51.具有n个顶点的连通图至少需有n-1条边。
52.一个连通图的生成树是该图的极小连通子图。
若这个连通图有n个顶点,则它的生成树有n-1条边。
53.在有向图的邻接矩阵中,第i行中非零元素的个数正好是第i个顶点的出度;第i列中非零元素的个数正好是第i个顶点的入度。
54.在一个图中,所有顶点的度数之和等于所有边数的2倍。
55.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于1。
56.设连通图G有n个顶点,则G的生成树一定有n-1边。
57.可以进行拓扑排序的有向图一定是没有环(回路);在拓扑排序序列中第一个顶点一定是入度为0的顶点。
58.Dijkstra算法是按路径长度递增的次序产生从一个顶点到其余各顶点最短路径的算法。
59.对二叉排序树进行中序遍历,可以得到按关键字从小到大排列的结点序列。
60.一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,经过4次比较后查找成功。
61.在线性表中采用折半查找法查找一个数据元素,线性表中元素应该按值有序,并且采用_顺序存储__存储方法。
62.若关键码序列为(18,25,63,50,42,32,9),哈希函数为H(key)=key MOD 9,与18发生冲突的元素有____2____个。
63.在线性表的折半查找法中要求线性表的存储结构必须是采用_顺序存储__,且表中的元素必须是__有序___。
64.在简单选择排序、堆排序、快速排列、归并排序四种排序方法中,排序方法稳定的是_归并排序_。
65.冒泡排序是一种稳定的排序方法,对n个元素的序列进行冒泡排序时,最多需进行n-1趟。
该排序方法的时间复杂度为O(n2)。
66.给定序列{100,86,48,73,35,39,42,57,66,21},按堆的定义,则它一定大根堆。
67.快速排序在平均情况下的时间复杂度为_O(nlog2 n),在最环情况下的时间复杂度为__O(n2)_。
68.数据结构是指数据及其相互之间的___一种或多种关系___。
当结点之间存在M对N(M:N)的联系时,称这种结构为___图状结构___。
69.队列的插入操作是在队列的____队尾_____进行,删除操作是在队列的__队头___进行。
70.每次从无序表中顺序取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做___直接插入___排序;每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做___简单选择___排序。
71.二叉树的前序遍历序列为A,B,C,E,F,D,G,H,中序遍历序列为A,E,C,F,B,G,D,H,其后序遍历序列为_____E,F,C,G,H,D,B,A_____________。
72.对于一棵具有n个结点的二叉树,若一个结点的编号为i(o<i<n—1),则它的左孩子结点的编号为2i,右孩子结点的编号为2i+1,双亲结点的编号为i/2。
73.在一个具有6个顶点的无向完全图中,包含有15条边,在一个具有6个顶点的有向完全图中,包含有30条边。
74.假设散列表的表长为11,散列函数为H(key)=key%7,若用线性探测处理冲突,则探查地址序列hi的计算公式为__H i=(Hash(key)+d i)mod m_________。
75.快速排序在平均情况下的时间复杂度为___O(nlog2n)__,在最坏情况下的时间复杂度为___O(n2)__。
76.从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明__ 查找成功_____,若元素的值小于根结点的值,则继续向____左子树____查找,若元素的大于根结点的值,则继续向__右子树_查找。
77.已知一个有向网如图所示,从顶点1到顶点4的最短路径长度为___55___。
78.在循环单链表中,最后一个结点的指针域指向____首__结点。
79.在以HL为表头指针的带表头附加结点的单链表和循环单链表中,判断链表为空的条件分别为__HL->next=NULL____和___HL->next=HL___。
80.假设二维数组A[8][10]按行优先顺序存储,若每个元素占2个存储单元,元素A[0][0]的存储地址为100,则元素A[4][5]的存储地址为_____174_100+(4*10+5)*2_____。
81.假设一棵完全二叉树含1000个结点,则其中度为2的结点数为____499____。