15-16(1)数据结构复习题带答案

合集下载

数据结构复习题

数据结构复习题

一.判断题(下列各题,正确的请在前面的括号内打√;错误的打×)第1章(√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。

(√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。

(×)(3)数据元素是数据的最小单位。

(×)(4)数据项是数据的基本单位。

(×)(5)数据的逻辑结构和数据的存储结构是相同的。

(√)(6)数据的逻辑结构是各数据元素之间的逻辑关系,是用户按使用需要而建立的。

(√)(7)数据的物理结构是指数据在计算机内实际的存储形式。

(√)(8)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。

(√)(9)数据的存储结构是数据的逻辑结构的存储映像。

(√)(10)算法是对解题方法和步骤的描述。

第2章(×)(1)链表的物理存储结构具有同链表一样的顺序。

(×)(2)链表的每个结点都恰好包含一个指针域。

(√)(3)线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此属于同一数据对象。

(×)(4)链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。

(×)(5)顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。

(√)(6)数组元素的存储位置是下标的线性函数。

(√)(7)在单链表中,元素的存储位置用指针联系,所以可以从头结点开始查找任何一个元素。

(×)(8)顺序存储线性表的插入和删除操作不需要付出很大的代价,因为平均每次移动仅一半的元素。

(×)(9)顺序存储方式的优点是存储密度大,插入、删除效率高。

(×)(10)在单链表中,要取得某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构。

第3章(√)(1)大多数排序算法都有比较关键字大小和改变指向记录的指针或移动记录本身两种基本操作。

数据结构试卷1(含答案)

数据结构试卷1(含答案)

数据结构试卷一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下列选项中与数据存储结构无关的术语是()A.顺序表B.链表C.链队列D.栈2.将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是()A.n-1B.nC.2n-1D.2n3.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是()A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是()A.堆栈B.多维数组C.队列D.线性表5.设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为()A.求子串B.串联接C.串匹配D.求串长6.对于广义表A,若head(A)等于tail(A),则表A为()A.( )B.(( ))C.(( ),( ))D.(( ),( ),( ))7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是()A.结点均无左孩子的二叉树B.结点均无右孩子的二叉树C.高度为n的二叉树D.存在度为2的结点的二叉树8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是()A.4B.5C.7D.89. 某算法有3个程序段,第一程序段的执行次数为错误!未找到引用源。

,第二个程序段执行次数为4n,第三个程序段的执行次数为0.06错误!未找到引用源。

,则该算法的时间复杂度为()。

A.O(n)B.O(错误!未找到引用源。

)C.O(错误!未找到引用源。

)D.O (错误!未找到引用源。

数据结构笔试复习

数据结构笔试复习

数据结构笔试复习⼀选择题1.下述哪⼀条是顺序存储结构的优点?()A.存储密度⼤ B.插⼊运算⽅便 C.删除运算⽅便 D.可⽅便地⽤于各种逻辑结构的存储表⽰2.数据结构在计算机内存中的表⽰是指( )。

A. 数据的物理结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系3.下⾯关于线性表的叙述中,错误的是哪⼀个?()A.线性表采⽤顺序存储,必须占⽤⼀⽚连续的存储单元。

B.线性表采⽤顺序存储,便于进⾏插⼊和删除操作。

C.线性表采⽤链接存储,不必占⽤⼀⽚连续的存储单元。

D.线性表采⽤链接存储,便于插⼊和删除操作。

4.若线性表最常⽤的操作是存取第i个元素及其前驱的值,则采⽤( )存储⽅式节省时间。

A. 单链表B. 双向链表C. 循环链表D. 顺序表5.线性表是具有n 个()的有限序列(n>0)。

A.表元素 B.字符 C.数据元素 D.数据项 E.信息项6.若某线性表最常⽤的操作是存取任⼀指定序号的元素和在最后进⾏插⼊和删除运算,则利⽤()存储⽅式最节省时间。

A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表7.某线性表中最常⽤的操作是在最后⼀个元素之后插⼊⼀个元素和删除第⼀个元素,则采⽤()存储⽅式最节省运算时间。

A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表8.设⼀个链表最常⽤的操作是在末尾插⼊结点和删除尾结点,则选⽤( )最节省时间。

A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表9.若某表最常⽤的操作是在最后⼀个结点之后插⼊⼀个结点或删除最后⼀个结点。

则采⽤()存储⽅式最节省运算时间。

A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表10. 链表不具有的特点是()A.插⼊、删除不需要移动元素 B.可随机访问任⼀元素C.不必事先估计存储空间 D.所需空间与线性长度成正⽐11、3个结点可构成_____棵不同形态的⼆叉树。

《数据结构》题库及答案

《数据结构》题库及答案

《数据结构》题库及答案一、选择题1.线性表的顺序存储结构是一种 的存储结构,线性表的链式存储结构是一种 的存储结构。

a. 随机存储;b.顺序存储;c. 索引存取;d. HASH 存取2.一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是 。

a. edcba;b. decba;c. dceab;d.abcde3.一个队列的入队序列是1,2,3,4,则队列的输出序列是 。

a. 4,3,2,1;b. 1,2,3,4;c. 1,4,3,2;d.3,2,4,14.在一个单链表中,已知p 结点是q 结点的直接前驱结点,若在p 和q 之间插入结点s ,则执行的操作是 。

a. s->nxet=p->next; p->next=s;b. p->next=s->next; s->next=p;c. q->next=s; s->next=p;d. p->next=s; s->next=q;5.设有两个串p,q ,求q 在p 中首次出现的位置的运算称作 。

a.联接b.模式匹配c.求子串d.求串长6.二维数组M 的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i 的范围从0到8,列下标j 的范围从1到10,则存放M 至少需要 个字节。

a. 90b.180c.240d.540 7.在线索二叉树中,结点p 没有左子树的充要条件是 。

a. p->lch==NULLb. p->ltag==1c. p->ltag==1且p->lch=NULLd. 以上都不对8.在栈操作中,输入序列为(A ,B ,C ,D ),不可能得到的输出序列为:______A 、(A ,B ,C ,D ) B 、(D ,C ,B ,A ) C 、(A ,C ,D ,B ) D 、(C ,A ,B ,D )9.已知某二叉树的后序序列是dabec ,中序序列是debac ,则它的先序序列是 。

数据结构试题及答案(1)A

数据结构试题及答案(1)A

数据结构试卷一、填空殖(每空1分共20分)1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情况。

2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作为该完全二叉树的存储结构,则共有______501_____个空指针域.3.设输入序列为1、2、3,则经过栈的作用后可以得到_____6______种不同的输出序列。

4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的___出度_____,第i列上所有元素之和等于顶点i的____入度____。

5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。

6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为____e=d_____。

7.____中序______遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序).8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较_____7___次就可以断定数据元素X是否在查找表中。

9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为______1______。

10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为___i/2_________,右孩子结点的编号为____2i+1_______。

11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为_____5 16 71 23 72 94 73______。

12.设有向图G中有向边的集合E={〈1,2〉,<2,3>,〈1,4〉,〈4,2>,〈4,3〉},则该图的一种拓扑序列为___1 4 2 3___。

(完整版)数据结构复习题(附答案)

(完整版)数据结构复习题(附答案)

一、算法设计题(每题15分,共60分)答题要求:①用自然语言说明所采用算法的思想;②给出每个算法所需的数据结构定义,并做必要说明;③写出对应的算法程序,并做必要的注释。

1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。

假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。

3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。

现要求采用循环链表结构设计一个算法,模拟此过程。

4、编程实现单链表的就地逆置。

23.在数组 A[1..n]中有n个数据,试建立一个带有头结点的循环链表,头指针为h,要求链中数据从小到大排列,重复的数据在链中只保存一个.5、设计一个尽可能的高效算法输出单链表的倒数第K个元素。

3、假设以I和O分别表示入栈和出栈操作。

栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。

(15分)(1)下面所示的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。

若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。

5、设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。

算法应对异常情况(入栈满等)给出相应的信息。

设有一个背包可以放入的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。

数据结构复习题(一)

数据结构复习题(一)

第1章绪论一、选择题1.算法的计算量的大小称为计算的()。

A.效率 B. 复杂性 C. 现实性 D. 难度2.算法的时间复杂度取决于()A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。

(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性4.一个算法应该是()。

A.程序 B.问题求解步骤的描述C.数据结构+程序 D.以上都不对.5.下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6.下面说法错误的是()(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指随问题规模的增大,算法执行时间的增长率。

(4)空间复杂度是算法所需存储空间的量度。

A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。

A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。

A.循环队列 B. 链表 C. 哈希表 D. 栈9.连续存储设计时,存储单元的地址()。

A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续10.以下属于逻辑结构的是()。

A.顺序表 B. 哈希表 C.有序表 D. 单链表第2章线性表一、选择题1.下述哪一条是顺序存储结构的优点?()A.存储密度大 B.插入运算方便 C.删除运算方便D.可方便地用于各种逻辑结构的存储表示2.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。

数据结构复习题答案

数据结构复习题答案

数据结构复习题答案数据结构复习题答案⼀、选择题1.栈和队列的共同特点是( )。

A.只允许在端点处插⼊和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.⽤链接⽅式存储的队列,在进⾏插⼊运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪⼀个是⾮线性结构?( )A. 队列B. 栈C. 线性表 D. ⼆叉树4.设有⼀个⼆维数组A[m][n],假设A[0][0]存放位置在644,A[2][2]存放位置在676(10),每个(10)元素占⼀个空间,问A[3][3](10)存放在()位置,脚注表⽰⽤10进制表⽰。

(10)A.688 B.678 C.692 D.6965.树最适合⽤来表⽰( )。

A.有序数据元素B.⽆序数据元素C.元素之间具有分⽀层次关系的数据D.元素之间⽆联系的数据6.⼆叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1D. 2k-17.若有18个元素的有序表存放在⼀维数组A[19]中,第⼀个元素放A[1]中,现进⾏⼆分查找,则查找A[3]的⽐较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的⽂件进⾏快速排序,所需要的辅助存储空间⼤致为( )A. O(1)B. O(n)C. On) D. O(n2)(1og29.对于线性表(7,34,55,25,64,46,20,10)进⾏散列存储时,若选⽤H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的⽆向图,该图⾄少应有( )条边才能确保是⼀个连通图。

A.5B.6C.7D.811.⼀个链队列中,f,r分别为队⾸、队尾指针,则插⼊s所指结点的操作为( )。

A)f->next=c;f=s; B)r->next=s;r=s;C)s->next=r;r=s; D)s->next=f;f=s;12.下列说法正确的是()。

数据结构练习题(含答案)

数据结构练习题(含答案)

数据结构练习题习题1 绪论1.1 单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。

① A.操作对象B.计算方法C.逻辑结构D.数据映象② A.存储结构B.关系C.运算D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。

① A.算法B.数据元素C.数据操作D.数据对象② A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4. 算法分析的目的是①,算法分析的两个主要方面是②。

① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性5. 计算机算法指的是①,它必具备输入、输出和②等五个特性。

① A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性1.2 填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。

2. 在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。

3. 在树形结构中,树根结点没有结点,其余每个结点有且只有个直接前驱结点,叶子结点没有结点,其余每个结点的直接后续结点可以。

4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。

5. 线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。

数据结构复习参考题与参考答案

数据结构复习参考题与参考答案

第一章概论自测题答案一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。

2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。

3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。

4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。

5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。

7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。

8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。

9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。

10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。

11. 一个算法的效率可分为时间效率和空间效率。

二、单项选择题(B)1. 非线性结构是数据元素之间存在一种:A)一对多关系 B)多对多关系C)多对一关系 D)一对一关系( C )2. 数据结构中,与所使用的计算机无关的是数据的结构;A) 存储 B) 物理C) 逻辑 D) 物理和存储(C)3. 算法分析的目的是:A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性(A)4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性(C )5. 计算机算法指的是:A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法(B)6. 计算机算法必须具备输入、输出和等5个特性。

数据结构复习题及标准答案

数据结构复习题及标准答案

数据结构复习题及标准答案————————————————————————————————作者:————————————————————————————————日期:一、选择题。

(每小题2分,共40分)(1) 计算机识别.存储和加工处理的对象被统称为____A____。

A.数据B.数据元素C.数据结构D.数据类型(2) 数据结构通常是研究数据的____ A _____及它们之间的联系。

A.存储和逻辑结构B.存储和抽象C.理想和抽象D.理想与逻辑(3) 不是数据的逻辑结构是____ A ______。

A.散列结构B.线性结构C.树结构D.图结构(4) 数据结构被形式地定义为<D,R>,其中D是____ B _____的有限集,R是____ C _____的有限集。

A.算法B.数据元素C.数据操作D.逻辑结构(5) 组成数据的基本单位是____ A ______。

A.数据项B.数据类型C.数据元素D.数据变量(6) 设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是____ A ______。

A.线性结构B.树型结构C.图型结构D.集合(7) 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为___ C ____。

A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构(8) 在数据结构的讨论中把数据结构从逻辑上分为___ A ____。

A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构(9) 对一个算法的评价,不包括如下____ B _____方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度(10) 算法分析的两个方面是__ A ____。

A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性(11) 线性表是具有n个___ C _____的有限序列(n≠0)。

《数据结构》试题汇编(带答案)

《数据结构》试题汇编(带答案)

《数据结构》习题汇编一、单项选择题1.在数据结构中,从逻辑上可以把数据结构分成()。

A. 动态结构和静态结构B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构2.数据结构在计算机内存中的表示是指()。

A. 数据的存储结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的()结构。

A. 逻辑B. 存储C. 逻辑和存储D. 物理4.计算机算法指的是(①),它必须具备输入、输出和(②)等5个特性。

①A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性5.在一个长度为n的顺序表中向第i个元素(1≤i≤n+1)位置插入一个新元素时,需要从后向前依次后移()个元素。

A. n-iB. n-i+1C. n-i-1D. i6.在一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需要从前向后依次前移()个元素。

A. n-iB. n-i+1C. n-i-1D. i7.在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为()。

A. O(n)B. O(1)C. O(n2)D. O(log2n)8.在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为()。

A. O(n)B. O(n/2)C. O(1)D. O(n2)9.不带头结点的单链表first为空的判定条件是:()A. first == NULL;B. first->next == NULL;C. first->next == first;D. first != NULL;10.带头结点的单链表first为空的判定条件是:()A. first == NULL;B. first->next == NULL;C. first->next == first;D. first != NULL;11.设单链表中结点的结构为(data, next)。

中国石油大学《数据结构》复习题及答案

中国石油大学《数据结构》复习题及答案
A、123,145,298,314,486,508B、508,314,123,145,486,298
C、486,314,123,145,508,298D、298,123,508,486,145,314
34.任何一个无向连通图的最小生成树()。
A、一定有多棵B、可能不存在C、一棵或多棵D、只有一棵
35.无向图的邻接矩阵是一个()
29.在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为()。
A、s->next=rear;rear=s;B、front=front->next;
C、s->next=front;front=s;D、rear->next=s;rear=s;
30.对于哈希函数H(key)=key%13,被称为同义词的关键字是()
16.带头结点的双循环链表L中只有一个元素结点的条件是。
17.求最小生成树的克鲁斯卡尔(Kruskal)算法耗用的时间与图中的数目正相关。
18.已知一棵完全二叉树中共有768结点,则该树中共有个叶子结点。
A、对角矩阵B、上三角矩阵C、对称矩阵D、零矩阵
36.设无向图G-=(V,E)和G’=(V’,E’),如G’为G的生成树,则下列说法中不正确的是()。A、G’为G的无环子图B、G’为G连通分量
C、G’为G极小连通子图且V’=VD、G’为G的子图
37. 以v1为起始结点对下图进行深度优先遍历,正确的遍历序列是()
A、45,24,53,12,37,96,30
B、37,24,12,30,53,45,96
C、12,24,30,37,45,53,96
D、30,24,12,37,45,96,53
10.对下面有向图给出了四种可能的拓扑序列,其中错误的是()

数据结构复习题答案修订版

数据结构复习题答案修订版

一、填空题1、根据需要,数据元素又被称为__ 元素 _、_ 结点 _、__ 顶点 _或记录。

2、在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定小于该结点的值,右子树上所有结点的值一定大于该结点的值。

3、通常从正确性、可读性、健壮性、高效性等几方面评价算法的(包括程序)质量。

4、假定一棵二叉树的结点数为18,则它的最小深度为 5 ,最大深度为 18 。

5、顺序存储结构是通过物理上相邻表示元素之间的关系的;链式存储结构是通过指针表示元素之间的关系的。

6、在线性结构中,第一个结点无前驱结点,其余每个结点有且只有 1 个前驱结点;最后一个结点无后续结点,其余每个结点有且只有 1 个后续结点。

7、在树形结构中,树根结点没有前驱结点,每一个结点只有一个前驱结点,称为根结点。

8、栈是操作受限的线性表,其运算遵循后进先出的原则。

9、哈夫曼树是带权路径度长度最短的树,通常权值较大的结点离根较近。

10、从数据结构的观点看,通常所说的"数据"应分成三个不同的层次,即数据、数据元素和数据项。

11、一个运算的实现是指一个完成该运算功能的程序。

运算实现的核心是处理步骤的规定,即算法设计。

12、线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接前驱外,其他结点有且仅有一个直接前驱 ;除终端结点没有直接后续外,其它结点有且仅有一个直接后续。

13、顺序表的特点是表中相邻的数据元素在内存中存储位置也相邻。

14、栈的基本运算至少应包括初始化、进栈、出栈、与读栈、判栈空五种。

15、从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为 1 和 3 。

18、结点最少的树为只有一个结点,结点最少的二叉树为空二叉树。

19、常见时间复杂性的量级有:常数阶O( 1 )、对数阶O( log2n )、线性阶O ( n )、平方阶O( n^2 )、和指数阶O( 2^n )。

数据结构考试题库有参考答案

数据结构考试题库有参考答案

第1章?????绪论一、选择题1.?算法的计算量的大小称为计算的(????)。

【北京邮电大学2000?二、3?(20/8分)】A.效率??????????B.?复杂性???????C.?现实性???????????D.?难度2.?算法的时间复杂度取决于()【中科院计算所?1998?二、1?(2分)】A.问题的规模??????B.?待处理数据的初态??????C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。

(1) A.计算方法?????B.?排序方法????????C.?解决问题的步骤序列??????D.?调度方法(2) A.可执行性、可移植性、可扩充性????B.?可执行性、确定性、有穷性C.?确定性、有穷性、稳定性??????????D.?易读性、稳定性、安全性??????【南京理工大学?1999?一、1(2分)【武汉交通科技大学?1996?一、1(?4分)】4.一个算法应该是(?????)。

【中山大学?1998?二、1(2分)】?????A.程序?????B.问题求解步骤的描述?????C.要满足五个基本特性????????D.A和C.5.?下面关于算法说法错误的是(????)【南京理工大学?2000?一、1(1.5分)】A.算法最终必须由计算机程序实现B.?为解决某问题的算法同为该问题编写的程序含义是相同的C.?算法的可行性是指指令不能有二义性??????????D.?以上几个都是错误的6.?下面说法错误的是(????)【南京理工大学?2000?一、2?(1.5分)】????(1)算法原地工作的含义是指不需要任何额外的辅助空间???(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法???(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界???(4)同一个算法,实现语言的级别越高,执行效率就越低?A.(1)??????B.(1),(2)????C.(1),(4)?????D.(3)7.从逻辑上可以把数据结构分为(????)两大类。

数据结构复习题(带答案)

数据结构复习题(带答案)

装订第 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 )存储方式最节省时间。

数据结构 期末考试复习试卷一及答案

数据结构 期末考试复习试卷一及答案

期末考试复习试卷一一、选择题(本题共30分,每题2分)1. 计算机识别、存储和加工处理的对象被统称为________。

A. 数据B. 数据元素C. 数据结构D. 数据类型2. 已知一栈的进栈序列为:1234,则下列哪个序列为不可能的出栈序列________。

A.1234 B.4321 C.2143 D.41233.链表不具有的特点是________。

A. 随机访问B. 不必事先估计所需存储空间大小C. 插入与删除时不必移动元素D. 所需空间与线性表长度成正比4. 设InitQueue(Q)、EnQueue(Q,e)、DeQueue(Q,e)分别表示队列初始化、入队和出队的操作。

经过以下队列操作后,队头的值是________InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b); EnQueue(Q,c); DeQueue(Q,x)A. aB. bC.NULLD.x5.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行________。

A.p=q->next; p->next=q->next;free(p);B.p=q->next; q->next=p; free(p);C.p=q->next; q->next=p->next; free(p);D.q->next=q->next->next; q->next=q; free(p);6. 一个顺序表第一个元素的存储地址是100,每个元素占2个存储单元,则第5个元素的地址是________。

A.110 B.108 C.100 D.1207. 在一个长度为n的顺序存储的线性表中,在其第i个位置插入一个新元素时,需要移动元素的次数是________。

A. n-iB. n-i+1C. n-i-1D. i8.下面关于线性表的叙述错误的是________。

(完整)数据结构(C语言)【经典题库】含答案,推荐文档

(完整)数据结构(C语言)【经典题库】含答案,推荐文档

《数据结构与算法》复习题选择题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(logn) 。

3i = 0;while(i<=n)i = i * 3;11.在以下的叙述中,正确的是 B 。

数据结构题目及答案

数据结构题目及答案

一、判断题(判断下列各个叙述的正误。

对,在题号前的括号内填入“√”;错,在题号前的括号内填入“×”。

每小题1分,共10分)()1.记录的基本单位是数据项。

()2.带权的无向连通图的最小生成树是唯一的。

()3.数组元素之间的关系,既不是线性的,也不是树形的。

()4.对于有N个记录的待排序序列进行归并排序,所需平均时间为O(NlogN)。

()5.用数组表示法存储一个图所需的存储单元数目与图的边数有关。

()6.在赫夫曼编码中,当两个字符出现的频率(权值)相同时,其编码也相同,对于这种情况应当特殊处理。

()7. 线性表采用顺序存储表示时,必须占用一片连续的存储单元。

()8. 由树转化成对应的二叉树,其根的右指针总是空的。

()9. 直接选择排序是一种稳定的排序方法。

()10. 装载因子是散列表的一个重要参数,它反映了散列表的装满程度。

二、填空题(每空1分,共15分)1、要从一个顺序表删除一个元素时,被删除元素之后的所有元素均需__一个位置,移动过程是从__向__依次移动每一个元素。

2、在一个长度为n的顺序表中删除第I个元素(0<=I<=n)时,需向前移动__个元素。

3、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为________。

4、设有一空栈,现有输入序列1,2,3,4,5,经过push,push,pop,push,pop,push,push后,输出序列是____。

5、一棵二叉排序树上按____遍历得到的结点序列是一个有序序列。

6、在一棵二叉树中,度为0的结点个数为n0,度为2的结点个数为n2,则n0=___。

7、a、b、c三个结点构成的二叉树,共有___种不同的结构。

8、在一棵具有k层的满三叉树中,结点总数为_____9、在一个图G的邻接表表示中,每个顶点的邻接表中所含的结点数,对于有向图而言等于该顶点的___;而对于无向图而言等于该顶点的___10、一个无向图有n个顶点和e条边,则所有顶点的度的和即∑=nidi1(di表示顶点i的度)=____。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、判断题 1、单链表不是一种随机存储结构。 2、在具有头结点的单链表中,头指针指向链表的第一个数据结点。 3、 在线性表的顺序存储结构中, 逻辑上相邻的两个元素但是在物理位置上不一定是相邻的。 4、 顺序存储结构的主要缺点是不利于插入或删除操作。( ) 5、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。( ) 6、顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。( ) 7、线性表的特点是每个元素都有一个前驱和一个后继。( ) 8、取线性表的第 i 个元素的时间同 i 的大小有关. ( )
C. 删除第i个元素( 1 i n ) D. 对顺序表中元素进行排序 18、 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。 假设指针s指向另一个 单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( A ) 。 A. q->next=s->next;s->next=p; B. s->next=p;q->next=s->next; C. p->next=s->next;s->next=q; D. s->next=q;p->next=s->next; 19、在以下的叙述中,正确的是( C ) 。 A. 线性表的顺序存储结构优于链表存储结构 B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况 C. 线性表的链表存储结构适用于频繁插入/删除数据元素的情况 D. 线性表的链表存储结构优于顺序存储结构 20、在表长为 n 的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需 移动的平均个数为( A ) 。 A. (n-1)/2 B. n/2 C. (n+1)/2 D. n 21、在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是( B ) 。 A. p=p->next; B. p->next=p->next->next; C. p->next=p; D. p=p->next->next; 二、填空题 1、 设单链表的结点结构为 (data,next) 。 已知指针p指向单链表中的结点, q指向新结点, 欲将q插入到p结点之后,则需要执行的语句: ; 。 答案:q->next=p->next p->next=q 2、线性表的逻辑结构是 ,其所含元素的个数称为线性表的 。 答案:线性结构 长度 3、带头结点的单链表 head 为空的条件是 。 答案:head->next==NULL 4、在一个单链表中删除p所指结点的后继结点时,应执行以下操作: q = p->next; p->next=_ ___; 答案:q->next
9、线性表只能用顺序存储结构实现。( ) 10、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( ) 11、链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结 构中效率高。 ( ) 四、程序分析填空题 1、函数实现单链表的插入算法,请在空格处将算法补充完整。 int ListInsert(LinkList L,int i,ElemType e){ LNode *p,*s;int j; p=L;j=0; while((p!=NULL)&&(j<i-1)){ p=p->next;j++; } if(p==NULL||j>i-1) return ERROR; s=(LNode *)malloc(sizeof(LNode)); s->data=e; (1) ; (2) ; return OK; }/*ListInsert*/ 答案:(1)s->next=p->next (2)p->next=s 2、函数ListDelete_sq实现顺序表删除算法,请在空格处将算法补充完整。 int ListDelete_sq(Sqlist *L,int i){ int k; if(i<1||i>L->length) return ERROR; for(k=i-1;k<L->length-1;k++) L->slist[k]= (2) ; return OK; } 答案: (1)L->slist[k+1] (2) --L->Length 3、函数实现单链表的删除算法,请在空格处将算法补充完整。 int ListDelete(LinkList L,int i,ElemType *s){ LNode *p,*q; int j; p=L;j=0; while(( (1) )&&(j<i-1)){ p=p->next;j++; } if(p->next==NULL||j>i-1) return ERROR; q=p->next; (2) *s=q->data; free(q); ; (1) ;
2、下面关于线性表的叙述中,错误的是哪一个?( B ) A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。 3、若长度为 n 的线性表采用顺序存储结构,在其第 i 个位置插入一个新元素算法的时间复 杂度( C ) 。 A. O(log2n) B.O(1) C. O(n) D.O(n2)
D. O(n3)
8、数据结构是一类数据的表示及其相关操作,它一般包括三个方面的内容:数据的逻辑结 构、 ( D )和数据的运算。 A. 数据的操作 B. 数据的算法 C. 数据的连接 D. 数 据 的 存 储 结构 9、抽象数据类型的三个组成部分分别为( A ) 。 A. 数据对象、数据关系和基本操作 B. 数据元素、逻辑结构和存储结构 C. 数据项、数据元素和数据类型 D. 数据元素、数据结构和数据类型 10、下列程序段的时间复杂度为(B) 。 x=n;y=0;
三、简答题
1、 简述线性结构与非线性结构的不同点。 答: 线性结构反映结点间的逻辑关系是一对一的, 非线性结构反映结点间的逻辑关系是多对 多的。
第二章 线性表
一、选择题 1、下述哪一条是顺序存储结构的优点?( A ) A.存储密度大 B.插入运算方便 C.删除运算方便 构的存储表示
D.可方便地用于各种逻辑结
return OK; }/*listDelete*/ 答案:(1)p->next!=NULL (2)p->next=q->next
数据结构复习题
第一章 概论
一、选择题 1、研究数据结构就是研究( D ) 。 A. 数据的逻辑结构 B. 数据的存储结构 C. 数据的逻辑结构和存储结构 D. 数据的逻辑结构、存储结构及其基本操作 2、算法分析的两个主要方面是( A ) 。 A. 空间复杂度和时间复杂度 B. 正确性和简单性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 3、 计算机中的算法指的是解决某一个问题的有限运算序列, 它必须具备输入、 输出、 ( B 等5个特性。 A. 可行性、可移植性和可扩充性 B. 可行性、有穷性和确定性 C. 确定性、有穷性和稳定性 4、下面程序段的时间复杂度是( C ) 。 for(i=0;i<m;i++) for(j=0;j<n;j++) a[i][j]=i*j; 2 A. O(m ) B. O(n2) D. 易读性、稳定性和确定性 )
4、 若一个线性表中最常用的操作是取第 i 个元素和找第 i 个元素的前趋元素, 则采用 ( ) 存储方式最节省时间。 ( A ) 。 A. 顺序表 B. 单链表 C. 双链表 D. 单循环链表 5、具有线性结构的数据结构是( D ) 。 A. 图 B. 树 C. 广义表 D. 栈 6、在一个长度为 n 的顺序表中,在第 i 个元素之前(元素从 1 开始计数)插入一个新元 素时,需向后移动( )个元素。 ( B ) A. n-i B. n-i+1 C. n-i-1 D. i 7、非空的循环单链表 head 的尾结点 p 满足( A ) 。 A. p->next==head B. p->next==NULL C. p==NULL D. p==head 8、链表不具有的特点是( A ) 。 A. 可随机访问任一元素 B. 插入删除不需要移动元素 C. 不必事先估计存储空间 D. 所需空间与线性表长度成正比 9、线性表采用链式存储时,结点的存储地址( ) 。 A. 必须是连续的 B. 必须是不连续的 C. 连续与否均可 D. 和头结点的存储地址相连续 10、在一个长度为n的顺序表中删除第i个元素,需要向前移动( A )个元素。 A. n-i B. n-i+1 C. n-i-1 D. i+1 11、从表中任一结点出发,都能扫描整个表的是( C ) 。 A. 单链表 B. 顺序表 C. 循环链表 D. 静态链表 12、在具有n个结点的单链表上查找值为x的元素时,其时间复杂度为( A ) 。 2 A. O(n) B. O(1) C. O(n ) D. O(n-1) 13、线性表L=(a1,a2,……,an),下列说法正确的是( D ) 。 A. 每个元素都有一个直接前驱和一个直接后继 B. 线性表中至少要有一个元素 C. 表中诸元素的排列顺序必须是由小到大或由大到小 D. 除第一个和最后一个元素外,其余每个元素都由一个且仅有一个直接前驱和直接后 继 14、在线性表的下列存储结构中,读取元素花费的时间最少的是(D ) 。 A. 单链表 B. 双链表 C. 循环链表 D. 顺序表 15、在一个单链表中,若删除p所指向结点的后续结点,则执行( A ) 。 A. p->next=p->next->next; B. p=p->next;p->next=p->next->next; C. p =p->next; D. p=p->next->next; 16、循环链表的主要优点是( D ) 。 A. 不再需要头指针 B. 已知某结点位置后能容易找到其直接前驱 C. 在进行插入、删除运算时能保证链表不断开 D. 在表中任一结点出发都能扫描整个链表 17、在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( A ) 。 A. 访问第i个元素的前驱(1< i n ) B. 在 第 i 个 元 素 之 后 插 入 一 个 新 元 素 (1 i n )
相关文档
最新文档