数据结构复习资料

合集下载

数据结构笔试复习

数据结构笔试复习

数据结构笔试复习⼀选择题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.调度方法2.下列数据结构中,()是非线性结构。

A.栈B.队列C.完全二叉树D.堆3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。

A.顺序表B.双向链表C.单循环链表D.带头结点的双循环链表4.队列的操作原则是()A.先进先出B.后进先出C.先进后出D.不分顺序5.栈和队列的共同特点是()。

A.都是先进先出B.都是先进后出C.都是只允许在端点处插入和删除D.没有共同点6.在一棵高度为k 的满二叉树中,结点总数为()。

A.2k-1 B.2k C.2k-1 D.⎣log 2 k ⎦+ 17.在下列存储形式中,哪一个不是树的存储形式?()A.双亲链表表示法B.孩子链表表示法C.孩子兄弟链表表示法D.顺序存储表示法8.n 个结点的完全有向图含有边的数目为()。

A.n*n B.n*(n+1) C.n/2 D.n*(n-1)9.n 个顶点的强连通图至少有()条边。

A.n B.n-1 C.n+1 D.n(n-1)10、高度为k 的二叉树的最大结点数为()。

A、2kB、2k-1C、2k–1D、2k-1–111、下列哪一种图的邻接矩阵是对称矩阵?()A、有向图B、无向图C、AOV 网D、AOE 网12、在下列存储形式中,哪一个不是树的存储形式?()A、双亲表示法B、孩子表示法C、孩子兄弟表示法D、顺序存储表示法13、下面哪一方法可以判断出一个有向图是否有环。

()A、深度优先遍历B、拓扑排序C、求最短路径D、广度优先遍历14.适用于折半查找的表的存储方式及元素排列要求为()。

A.链接方式存储,元素无序B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序15、一个算法应该是()。

A、程序B、特定问题求解步骤的描述C、要满足五个基本特性D、A 和C16、算法分析的两个主要方面是()。

数据结构复习

数据结构复习

地址计算 以三对角矩阵为例
三对角矩阵中所有非零元素为3*n-2,可用一维数组s[3*n-2]存储.aij与s[k]
LOC(i,j)=LOC(0,0)+[3*i-1+(j-i+1)]*d
=LOC(0,0)+(2i+j)*d
4.3.2 稀疏矩阵
5、设长度为n的链队列用单循环链表表示,若只设头指针,则怎样进行入队和出队操作;若只设尾指针呢?
6、假设循环队列只设rear和quelen来分别指示队尾元素的位置和队中元素的个数,试给出判断此循环队列的队满条件,并写出相应的入队和出队算法,要求出队时需返回队头指针。
第四章 数组
4.1 数组的定义
(2)能否得到出栈序列423和432?并说明为什么不能得到或如何得到。
(3)请分析1、2、3、4的24种排列中,哪些序列可以通过相应的入出栈得到。
2、表达式求值
3、两个栈共享存储空间r[m],写出向第i个栈插入x,删除第i个栈的栈顶元素算法。
4、循环队列的优点是什么?如何判断它的空和满?循环队列的操作算法?
(2)二叉链表法
5.3 遍历二叉树
在二叉树的一些应用中,常常要求在树中查找具有某
种特征的结点,或者对树中全部结点逐一进行某种处
理。这就引入了遍历二叉树的问题,即如何按某条搜
索路径巡访树中的每一个结点,使得每一个结点均被
访问一次,而且仅被访问一次。
DLR——先(根)序遍历,
LDR——中(根)序遍历,
习题:6.2,6.3,6.5,6.6,6.7,6.12,6.13,6.14,6.19,6.21,6.26,6.42,6.43,6.47,
第六章 图

数据结构复习材料

数据结构复习材料

一、单选题(共20题,40分)1、向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为()。

(2.0)A、 8B、 63.5C、 63D、 7正确答案: B2、在一个具有n个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度是()。

(2.0)A、 O(1)B、 O(n)C、O(n²)D、 O(log₂n)正确答案: B3、根据一组关键字(56, 42, 50, 64, 48)依次插入结点生成一棵AVL树,当插入到值为0的结点时需要进行旋转调整。

(2.0)A、 42B、 50C、 64D、 48正确答案: B4、若查找每个元素的概率相等,则在长度为n的顺序表上查找任一元素的平均查找长度为( )。

(2.0)A、 nB、 n+1C、 (n-1)/2D、 (n+1)/2正确答案: D5、在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动个元素。

(2.0)A、 n-iB、 n-i+lC、 n-i-1D、 i正确答案: A6、稀疏矩阵一般的压缩存储方法有两种,即()。

(2.0)A、二维数组和三维数组B、三元组和散列C、三元组和十字链表D、散列和十字链表正确答案: C7、以下关于线性表的说法不正确的是______。

(2.0)A、线性表中的数据元素可以是数字、字符、记录等不同类型。

B、线性表中包含的数据元素个数不是任意的。

C、线性表中的每个结点都有且只有一个直接前趋和直接后继。

D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。

正确答案: C8、在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。

(2.0)A、访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)B、在第i个结点后插入一个新结点(1≤i≤n)C、删除第i个结点(1≤i≤n)D、将n个结点从小到大排序正确答案: A9、一棵非空的二叉树的先序遍历序列与后序遍历序列正好相同,则该二叉树一定满足()。

数据结构复习要点

数据结构复习要点

A—熟练掌握B—理解C—了解第一章:绪论1. 基本概念:包括数据的逻辑结构、数据的存储结构和数据的相关运算。

C四类数据组织结构:集合、线性表、树形、图状结构C数据的存储方式:顺序存储和链式存储。

B2.算法和分析算法的特征、时间复杂度的分析和常见的时间复杂度增长率排序、空间复杂度B本章重点:分析算法时间复杂度例1. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的D例2. 以下那一个术语与数据的存储结构无关?()A.栈 B. 哈希表 C. 线索树 D. 双向链表A.例3..求下段程序的时间复杂度:void mergesort(int i, int j){int m;if(i!=j){m=(i+j)/2;mergesort(i,m);mergesort(m+1,j);merge(i,j,m);}}其中mergesort()用于对数组a[n]归并排序,调用方式为mergesort(0,n-1);,merge()用于两个有序子序列的合并,是非递归函数,时间复杂度为。

解:分析得到的时间复杂度的递归关系:为merge()所需的时间,设为cn(c为常量)。

因此令,有有第二章:线性表1.线性表的基本运算:….. C2.线性表的顺序存储(利用静态数组或动态内存分配)。

相应的表示与操作 A3.线性表的链式存储。

相应的表示与操作。

包括循环链表、双向链表。

A4.顺序存储与链式存储的比较:基于时间的考虑--分别适用于静态的和动态的操作:比如静态查找和插入删除);基于空间的考虑-- ……. B这也适用于后面用两种方式存储的其他数据结构。

★本章重点:很熟悉顺序表,单链表、双链表,循环链表的基本操作;并学会在各种链表上进行一些算法设计(与基本操作类似的操作或组合),请仔细复习。

例4.假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。

数据结构复习大纲

数据结构复习大纲

数据结构复习大纲第一章绪论1. 数据结构的基本概念和术语1.1 数据、数据元素、数据项、数据结构等基本概念1.2 数据结构的逻辑结构、存储结构及数据运算的含义及其相互关系1.3 数据结构的两大逻辑结构和四种常用的存储表示方法2. 算法的描述和分析2.1 算法、算法的时间复杂度和空间复杂度、最坏的和平均的时间复杂度等概念2.2 算法描述和算法分析的方法,对于一般算法能分析出时间复杂度第二章线性表1. 线性表的逻辑结构1.1 线性表的逻辑结构特征2. 线性表的顺序存储结构2.1 顺序表的含义及特点,即顺序表如何反映线性表中元素之间的逻辑关系2.2 顺序表上的插入、删除操作及其平均时间性能分析3. 线性表的链式存储结构3.1 链表如何表示线性表中元素之间的逻辑关系3.2 链表中头指针和头结点的使用3.3 单链表、双(向)链表、循环链表链接方式上的区别3.4 单链表上实现的建表、查找、插入和删除4. 顺序表和链表的比较4.1 顺序表和链表的主要优缺点4.2 针对线性表上所需要执行的主要操作,知道选择顺序表还是链表作为其存储结构才能取得较优的时空性能第三章栈和队列1.栈的逻辑结构、存储结构及其相关算法1.1 栈的逻辑结构特点,栈与线性表的异同1.2 顺序栈和链栈上实现的进栈、退栈等基本算法1.3 栈的“上溢”和“下溢”的概念及其判别条件2. 队列的逻辑结构、存储结构及其相关算法2.1 队列的逻辑结构特点,队列与线性表的异同2.2 顺序队列(主要是循环队列)和链队列上实现的入队、出队等基本算法2.3 队列的“上溢”和“下溢”的概念及其判别条件2.4 使用数组实现的循环队列取代普通的顺序队列的原因2.5 循环队列中对边界条件的处理方法3. 栈和队列的应用3.1 栈和队列的特点,什么样的情况下能够使用栈或队列3.2 表达式求值的算法思想,及栈变化情况。

第四章串、数组和广义表1.串1.1 串的有关概念及基本运算1.2 串与线性表的关系2.多维数组2.1 多维数组的逻辑结构特征2.2 多维数组的顺序存储结构及地址计算方式2.3 数组是一种随机存取结构的原因2.4 矩阵的压缩存储(对称矩阵、三角矩阵、稀疏矩阵)的表示方式和对应的地址计算方式。

《数据结构》复习资料

《数据结构》复习资料

《数据结构》复习资料《数据结构》复习资料1⼀、选择题1. ⼀棵⼆叉树中第6层上最多有()个结点。

A. 2B. 31C. 32D. 642. 顺序表中数据元素的存取⽅式为()。

A. 随机存取B. 顺序存取C. 索引存取D. 连续存取3. 设有⽆向图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)}。

对G进⾏深度优先遍历,正确的遍历序列是()。

A. a,b,e,c,d,fB. a,c,f,e,b,dC. a,e,b,c,f,dD. a,e,d,f,c,b4. 在待排元素序列基本有序的前提下,效率最⾼的排序⽅法是()。

A. 插⼊B. 选择C. 快速D. 归并5. 设表中含100个数据元素,⽤折半查找法进⾏查找,则所需最⼤⽐较次数为()。

A. 50B. 25C. 10D. 76. 设哈希表地址范围为0~19,哈希函数H(key)=key%17,使⽤⼆次探测再散列法处理冲突。

若表中已存放有关键字值为6、22、38、55的记录,则再放⼊关键字值为72的记录时,其存放地址应为()。

A. 2B. 3C. 4E. 8F. 以上都不对7. 设对下图从顶点a出发进⾏深度优先遍历,则()是可能得到的遍历序列。

A. acfgdebB. abcdefgC. acdgbefD. abefgcd8. 若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序⽅法是()。

A. 快速排序B. 堆排序C. 归并排序D. 直接插⼊排序9. 设有⼀组关键字值(46,79,56,38,40,84),则⽤堆排序的⽅法建⽴的初始堆为()。

A. 79,46,56,38,40,84B. 84,79,56,38,40,46C. 84,79,56,46,40,38D. 84,56,79,40,46,3810. 设⼴义表L=((a,()),b,(c,d,e)),则Head(Tail(Tail(L)))的值为()。

数据结构总复习资料(完整版)

数据结构总复习资料(完整版)

2018数据结构总复习第一章概论1.1数据结构的定义和分类1.数据结构的定义数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。

2.数据结构包括的内容(1)逻辑结构:数据元素之间的逻辑关系。

(2)存储结构:数据元素及其关系在计算机存储器内的表示。

(3)操作:数据的运算(检索、排序、插入、删除、修改)。

1.2为什么学习数据结构1.学习数据结构的作用(1)计算机内的数值运算依靠方程式,而非数值运算(如表、树、图等)则要依靠数据结构。

(2)同样的数据对象,用不同的数据结构来表示,运算效率可能有明显的差异。

(3)程序设计的实质是对实际问题选择一个好的数据结构,加之设计一个好的算法。

而好的算法在很大程度上取决于描述实际问题的数据结构。

2.电话号码查询问题(1)要写出好的查找算法,取决于这张表的结构及存储方式。

(2)电话号码表的结构和存储方式决定了查找(算法)的效率。

1.3算法的概念和特点1.算法的概念和特点算法是由若干条指令组成的有穷序列,具有以下特点:(1)输入:具有0个或多个输入的外界量。

(2)输出:至少产生1个输出。

(3)有穷性:每一条指令的执行次数必须是有限的。

(4)确定性:每条指令的含义都必须明确,无二义性。

(5)可行性:每条指令的执行时间都是有限的。

2.算法与程序的区别(1)一个程序不一定满足有穷性,但算法一定。

(2)程序中的指令必须是机器可执行的,而算法无此限制。

(3)一个算法若用机器可执行的语言来描述,则它就是一个程序。

1.4算法分析1.时间复杂度算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n) / f(n) 的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。

记作T(n)=O(f(n)),称O(f(n)) 为算法的渐近时间复杂度,简称时间复杂度。

算法效率的度量,采用时间复杂度。

数据结构(C语言版)知识点复习资料

数据结构(C语言版)知识点复习资料

数据结构复习资料一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。

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

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

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

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

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

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

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

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

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

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

12. 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与表长和该元素在表中的位置有关。

13. 线性表中结点的集合是有限的,结点间的关系是一对一的。

14. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动 n-i+1 个元素。

15. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动 n-i 个元素。

16. 在顺序表中访问任意一结点的时间复杂度均为 O(1) ,因此,顺序表也称为随机存取的数据结构。

17. 顺序表中逻辑上相邻的元素的物理位置必定相邻。

单链表中逻辑上相邻的元素的物理位置不一定相邻。

18.在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的链域的值指示。

数据结构复习资料 第4章

数据结构复习资料 第4章

第4章栈和队列一、复习要点本章主要讨论3种线性结构:栈、队列与优先级队列。

这3种结构都是顺序存取的表,而且都是限制存取点的表。

栈限定只能在表的一端(栈顶)插入与删除,其特点是先进后出。

队列和优先级队列限定只能在表的一端(队尾)插入在另一端(队头)删除,不过优先级队列在插入和删除时需要根据数据对象的优先级做适当的调整,令优先级最高的对象调整到队头,其特点是优先级高的先出。

而队列不调整,其特点是先进先出。

这几种结构在开发各种软件时非常有用。

本章复习的要点:1、基本知识点要求理解栈的定义和特点,栈的抽象数据类型和在递归和表达式计算中的使用,在栈式铁路调车线上当进栈序列为1, 2, 3, , n时,可能的出栈序列计数,栈的顺序存储表示和链接存储表示,特别要注意,链式栈的栈顶应在链头,插入与删除都在链头进行。

另外,需要理解队列的定义和特点,队列的抽象数据类型和在分层处理中的使用,队列的顺序存储表示(循环队列)和链接存储表示,需要注意的是,链式队列的队头应在链头,队尾应在链尾。

还需要理解优先级队列的定义和特点。

优先级队列的最佳存储表示是堆(heap),本章介绍的表示看懂即可。

2、算法设计➢栈的5种操作(进栈、退栈、取栈顶元素、判栈空、置空栈)的在顺序存储表示下的实现,以及在链接存储表示下的实现。

➢使用栈的后缀表达式计算算法➢循环队列的进队列、出队列、取队头元素、判队列空、置空队列操作的实现➢链式队列的进队列、出队列、取队头元素、判队列空、置空队列操作的实现二、难点和重点1、栈:栈的特性、栈的基本运算➢栈的数组实现、栈的链表实现➢栈满及栈空条件、抽象数据类型中的先决条件与后置条件2、栈的应用:用后缀表示计算表达式,中缀表示改后缀表示3、队列:队列的特性、队列的基本运算➢队列的数组实现:循环队列中队头与队尾指针的表示,队满及队空条件➢队列的链表实现:链式队列中的队头与队尾指针的表示、三、习题的解析4-2 铁路进行列车调度时, 常把站台设计成栈式结构的站台,如右图所示。

数据结构复习

数据结构复习

一、填空:1.顺序存储结构的特点是(),链接存储结构的特点是()。

【解答】用元素在存储器中的相对位置来表示数据元素之间的逻辑关系,用指示元素存储地址的指针表示数据元素之间的逻辑关系。

2.算法在发生非法操作时可以作出处理的特性称为(健壮性)。

【解答】健壮性3.常见的算法时间复杂度用大O记号表示为:常数阶(O(1) )、对数阶(O(log2n) )、线性阶(O (n))、平方阶(O(n2) )和指数阶(O(2n))。

【解答】O(1),O(log2n),O(n),O(n2),O(2n)4.将下列函数按它们在n 时的无穷大阶数,从小到大排列。

n, n-n3+7n5, nlogn, 2n/2, n3, log2n, n1/2+log2n, (3/2)n, n!, n2+log2n【解答】log2n, n1/2+log2n, n, nlog2n, n2+log2n, n3, n-n3+7n5, 2n/2, (3/2)n, n!5.在长度为n的线性表中查找值为x的数据元素的时间复杂度为:(c )。

A O(0) B O(1) C O(n) D O(n2)【解答】C6.在一个长度为n的顺序表的第i(1≤i≤n+1)个元素之前插入一个元素,需向后移动(n-i+1 )个元素,删除第i(1≤i≤n)个元素时,需向前移动(n-i )个元素。

【解答】n-i+1,n-i7.在单链表中,除了头结点以外,任一结点的存储位置由(其前趋结点的指针域)指示。

【解答】其前趋结点的指针域8.当线性表采用顺序存储结构时,其主要特点是(逻辑结构中相邻的结点在存储结构中仍相邻)。

【解答】逻辑结构中相邻的结点在存储结构中仍相邻9 栈通常采用的两种存储结构是(顺序存储结构和链接存储结构);其判定栈空的条件分别是(栈顶指针top=-1和top=NULL),判定栈满的条件分别是(栈顶指针top等于数组的长度和内存无可用空间)。

【解答】顺序存储结构和链接存储结构(或顺序栈和链栈),栈顶指针top= -1和top=NULL,栈顶指针top等于数组的长度和内存无可用空间10(栈)可作为实现递归函数调用的一种数据结构。

数据结构复习资料复习提纲知识要点归纳

数据结构复习资料复习提纲知识要点归纳

第一章数据结构概述基本概念与术语1.数据:数据是用来描述现实世界的文字,字符,图像,声音,以及能够输入到计算机中并能被计算机处理的符号。

2.数据元素:数据元素是数据的基本单位,是数据这个集合中的个体,也称之为元素,结点,顶点记录。

(补充:一个数据元素可由若干个数据项组成。

数据项是数据的不可分割的最小单位。

)3.数据对象:数据对象是具有相同性质的数据元素的集合,是数据的一个子集。

(有时候也叫做属性。

)4.数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

(1)数据的逻辑结构:数据的逻辑结构是指数据元素之间存在的固有逻辑关系,常称为数据结构。

数据的逻辑结构是从数据元素之间存在的逻辑关系上描述数据与数据的存储无关,是独立于计算机的。

依据数据元素之间的关系,可以把数据的逻辑结构分成以下几种:a.集合:数据中的数据元素之间除了“同属于一个集合“的关系以外,没有其他关系。

b.线性结构:结构中的数据元素之间存在“一对一“的关系。

若结构为非空集合,则除了第一个元素之外,和最后一个元素之外,其他每个元素都只有一个直接前驱和一个直接后继。

c.树形结构:结构中的数据元素之间存在“一对多“的关系。

若数据为非空集,则除了第一个元素(根)之外,其它每个数据元素都只有一个直接前驱,以及多个或零个直接后继。

d.图状结构:结构中的数据元素存在“多对多”的关系。

若结构为非空集,折每个数据可有多个(或零个)直接后继。

(2)数据的存储结构:数据元素及其关系在计算机内的表示称为数据的存储结构。

想要计算机处理数据,就必须把数据的逻辑结构映射为数据的存储结构。

逻辑结构可以映射为以下两种存储结构:a.顺序存储结构:把逻辑上相邻的数据元素存储在物理位置也相邻的存储单元中,借助元素在存储器中的相对位置来表示数据之间的逻辑关系。

b.链式存储结构:借助指针表达数据元素之间的逻辑关系。

不要求逻辑上相邻的数据元素物理位置上也相邻。

5.时间复杂度分析:a.常量阶:算法的时间复杂度与问题规模n无关系T(n)=O(1)b.线性阶:算法的时间复杂度与问题规模n成线性关系T(n)=O(n)c.平方阶和立方阶:一般为循环的嵌套,循环体最后条件为i++时间复杂度的大小比较:O(1)< O(log 2 n)< O(n )< O(n log 2 n)< O(n2)< O(n3)< O(2 n )<O(n!)<O(n n)6.算法与程序:(1)算法的5个特性a、输入:有零个或多个输入b、输出:有一个或多个输出c、有穷性:要求序列中的指令是有限的;每条指令的执行包含有限的工作量;整个指令序列的执行在有限的时间内结束。

数据结构期末复习资料

数据结构期末复习资料

数据结构复习资料第一章绪论1.1基本概念和术语1.数据是对客观事物的符号表示;数据元素是数据的基本单位,一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位;数据对象是性质相同的数据元素的集合,是数据的一个子集。

2.数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

3.A.数据结构的三要素:①数据的逻辑结构②数据的存储结构③数据的运算(算法)B.任何一个算法的设计取决于选定的逻辑结构,而算法的实现依赖于采用的存储结构4.数据的逻辑结构:①集合②线性结构③树型结构④图状结构或网状结构1.2算法和算法分析1.算法的五个特性:①有穷性②确定性③可行性④输入⑤输出2.时间复杂度:时间复杂度是指执行算法所需要的计算工作量空间复杂度:空间复杂度是指执行这个算法所需要的内存空间第二章线性表2.1线性表的顺序表示和实现1.线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。

2.优点:线性表的顺序存储结构是一种随机存取的存储结构3.顺序线性表插入:顺序线性表删除:4.线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(可连续,可不连续)5.对数据元素来说,除了存储其自身的信息之外,还需存储一个指示其直接后继的信息(存储位置),这两部分信息组成数据元素的存储映像,称为结点。

他包括两个域:其中存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指针域。

指针域中存储的信息称为指针或域。

N个结点链结成一个链表,即为线性表的链式存储结构。

又由于此链表的每个结点中只包含一个指针域,故又称为线性链表或单链表。

6.链表的插入与删除7.双向链表的插入与删除第三章栈和队列3.1 栈1.栈是限定仅在表尾进行插入或删除操作的线性表。

因此,对栈来说,表尾端有其特殊含义,称为栈顶,相应的,表头端称为栈底。

不含元素的空表称为空栈。

2.栈又称为后进先出的线性表3.栈的进栈与出栈操作3.2队列1.队列是一种先进先出的线性表,它只允许在表的一段进行插入,而在另一端删除元素。

数据结构复习内容

数据结构复习内容

《数据结构》复习内容一.单选题1.链栈与顺序栈相比,有一个比较明显的优点是BA.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的情况D.删除操作更加方便2.从未排序序列中挑选元素,将其放在已排序序列的一端,这种排序方法称为AA.选择排序B.插入排序C.快速排序D.冒泡排序3.若n个顶点的无向图采用邻接矩阵存储方法,该邻接矩阵是一个BA.一般矩阵B.对称矩阵C.对角矩阵D.稀疏矩阵4.一个n*n的对称矩阵,如果以行或列为主序放入内存,则其容量为CA.n*nB.n*n/2C.(n+1)*n/2D.(n+1)*(n+1)/25.当栈中的元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为BA.n-1B.nC.n+1D.n/26.在单链表中,增加头结点的目的是CA.使单链表至少有一结点B.标志表中首结点位置C.方便运算的实现D.说明单链表是线性表的链式存储实现8.在一个图中,所有顶点的度数之和等于所有边数的倍。

CA.1/2B.1C.2D.47.下列排序方法中,排序趟数与序列的原始状态有关的方法是DA.选择排序B.希尔排序C.堆排序D.冒泡排序8.在一棵具有五层的满二叉数中,结点总数为AA.31B.32C.33D.169.线性表是AA.一个有限序列,可以为空B.一个有限序列,不能为空C.一个无限序列,可以为空D.一个无限序列,不能为空12.下列排序算法中,排序在每趟结束后不一定能选出一个元素放到其排好序的最终位置上。

CA.选择B.冒泡C.归并D.堆13.二维数组a的每个元素是由6个字符组成的串,行下标的范围从0到8,列下标的范围从1到10,则存放a至少需要个字节。

DA.90B.180C.270D.54014.对有14个元素的有序表A[1..14]作二分查找,查找元素A[4]时的被比较元素依次为CA.A[1],A[2],A[3],A[4]B.A[1],A[14],A[7],A[4]C.A[7],A[3],A[5],A[4]D.A[7],A[5],A[3],A[4]15.以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0 ),空链域的个数为CA.2n-1B.n-1C.n+1D.2n+116.向顺序栈中压入元素时AA.先移动栈顶指针,后存人元素B.先存人元素,后移动后移动栈顶指针C.谁先谁后无关紧要D.同时进行17.下列存储形式中,哪一个不是树的存储形式DA.双亲表示法B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法18.对n个记录的文件进行堆排序,最坏情况下的执行时间为A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)19用链表表示线性表的优点是CA.便于随机存取B.花费的存储空间比顺序表少C.便于插入和删除D.数据元素的物理顺序与逻辑顺序相同20.下列有关线性表的叙述中,正确的是AA.线性表中的元素之间是线性关系B.线性表中至少有一个元素C.线性表中任何一个元素有且仅有一个直接前驱D.线性表中任何一个元素有且仅有一个直接后继21.线性表的顺序存储结构中,一般情况下,在第i(1≤i≤n)个元素之前插入一个元素时,需向后移动()个元素。

数据结构复习资料

数据结构复习资料

数据结构复习资料一、单项选择题:1、以下说法正确的是(B )。

A.数据元素是数据的最小单位B.数据项是数据的基本单位C.数据结构是带有结构的各数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构2、在数据结构中,从逻辑上可以把数据结构分成(C )。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.以上三个选项都是不是3、以下数据结构中,(A )是非线性数据结构A.树B.字符串C.队D.栈4. 对于int *pa[5]的描述,( D )是正确的。

A.pa是一个指向数组的指针,所指向的数组是5个int型元素B.pa是一个指向某数组中的第5个元素的指针,该元素是int型变量C.pa[5]表示某个数组的第5个元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针5、在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是( C )。

A.3B. 2C.6D.41. 栈和队列的共同特点是( A )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2. 用链接方式存储的队列,在进行插入运算时( D ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3. 算法分析的目的是:( C )A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性4. 算法分析的两个主要方面是:( A )A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性5. 计算机算法指的是:( C )A.计算方法B.排序方法C.解决问题的有限运算序列D.调度方法6.循环链表的主要优点是( B ) 。

A.不在需要头指针了B.已知某个结点的位置后,能够容易找到他的直接前趋C.在进行插入、删除运算时,能更好的保证链表不断开D.从表中的任意结点出发都能扫描到整个链表7.设带有头结点的单向循环链表的头指针变量为head,则其判空条件是( B )。

国家开放大学《数据结构(本)》复习资料

国家开放大学《数据结构(本)》复习资料

《数据结构》复习资料一、单项选择题1.一种逻辑结构在存储时(C)。

A.只要存储数据元素间的关系B.只能采用一种存储结构c.可采用不同的存储结构 D.只要存储数据元素的值2.对链表,以下叙述中正确的是(A)A.不能随机访问任一结点B.结点占用的存储空间是连续的c.插入删除元素的操作一定要移动结点D.可以通过下标对链表进行直接访问3.线性表在存储后,如果相关操作是:要求已知第i个结点的位置访问该结点的前驱结点,则采用(A)存储方式是不可行的。

A.单链表B.双链表 c.单循环链表 D.顺序表4.械和队列的共同特点是(C)。

A.都是先进后出B.元素都可以随机进出c.只容许在端点处插入和删除元素 D.都是先进先出5.元素2,4,6,8按顺序依次进拢,按该校的可能输出序列依次人队列,该队列的可能输出序列是(D)(进找出校可以交替进行)。

A.8,6,2,4B.8,4,2,6C.6,2,4,8D.8,6,4,26.在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,则从该对列中删除一个结点并把结点的值保存在变量x中的运算为(C)。

A.x=r•data;r=r•next;B.r=r•next;x=r•dataC.x=f•data;f=f•next;D.f=f•next;x=f•data7.设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则数组中第38号元素对应于矩阵中的元素是(C)。

(矩阵中的第1个元素是al,l)A.alO,8B.a7,6C.a9,2D.句,58.在C语言中,分别存储"S"和‘s',各需要占用(D)字节。

A.一个和两个B.两个c.一个 D.两个和一个9.一棵有n个结点,采用链式存储的二叉树中,共有()个指针域被有效使用(C)。

A.n+1B.nC.n-1D.n-210.在一棵二叉树中,若编号为i的结点存在双亲结点,则双亲结点的顺序编号为(B)。

数据结构复习资料(题目和参考答案)

数据结构复习资料(题目和参考答案)

数据结构复习题及参考答案(抽考其中50%)一、单选题(每小题1分)1.下列程序段的时间复杂度为(A )。

for(i=0; i<m ; i++)for(j=0; j<t ; j++) c[i][j]=0;for(i=0; i<m ; i++)for(j=0; j<t ; j++)for(k=0; k<n ; k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];(A) O(m*n*t) (B) O(m+n+t) (C) O(m+n*t) (D) O(m*t+n)2.下列程序段的时间复杂度为(A )。

i=0,s=0;while (s<n) {s=s+i ;i++;}(A) O(n 1/2) (B) O(n 1/3) (C) O(n) (D) O(n 2)3.设顺序表中有n 个数据元素,则删除表中第i 个元素需要移动(A )个元素。

(A) n-i (B) n+l-i (C) n-1-i (D) i4.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列(D )存储方式最节省运算时间。

(A) 单向链表 (B) 单向循环链表(C) 双向链表 (D) 双向循环链表5.设F 是由1T 、2T 和3T 三棵树组成的森林,与F 对应的二叉树为B ,1T 、2T 和3T 的结点数分别为1n 、2n 和3n ,则二叉树B 的根结点的左子树的结点数为(A )。

(A) 11n - (B) 21n - (C) 23n n + (D) 13n n +6.设指针q 指向单链表中结点A ,指针p 指向单链表中结点A 的后继结点B ,指针s 指向被插入的结点X ,则在结点A 和结点B 插入结点X 的操作序列为(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 ;7.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为(C )。

数据结构期末复习重点知识点总结

数据结构期末复习重点知识点总结

第一章绪论一、数据结构包括:逻辑结构、存储结构、运算(操作)三方面内容。

二、线性结构特点是一对一。

树特点是一对多图特点是多对多三、数据结构的四种存储结构:顺序存储、链式存储、索引存储、散列存储顺序存储结构和链式存储结构的区别?线性结构的顺序存储结构是一种随机存取的存储结构。

线性结构的链式存储是一种顺序存取的存储结构。

逻辑结构分类:集合线性树图,各自的特点。

或者分为线性结构和非线性结构。

四、算法的特征P13五、时间复杂度(1) i=1; k=0;while(i<n){ k=k+10*i;i++;}分析:i=1; //1k=0; //1while(i<n) //n{ k=k+10*i; //n-1i++; //n-1}由以上列出的各语句的频度,可得该程序段的时间消耗:T(n)=1+1+n+(n-1)+(n-1)=3n可表示为T(n)=O(n)六、数据项和数据元素的概念。

第二章线性表一、线性表有两种存储结构:顺序存储和链式存储,各自的优、缺点。

二、线性表的特点。

三、顺序表的插入、思想、时间复杂度o(n)、理解算法中每条语句的含义。

(1)插入的条件:不管是静态实现还是动态实现,插入的过程都是从最后一个元素往后挪动,腾位置。

静态是利用数组实现,动态是利用指针实现。

不管静态还是动态,在表中第i个位置插入,移动次数都是n-i+1。

四、顺序表的删除、思想、时间复杂度o(n)、理解算法中每条语句的含义。

(1)删除的条件:不管是静态实现还是动态实现,删除的过程都是从被删元素的下一位置向前挪动。

静态是利用数组实现,动态是利用指针实现。

不管静态还是动态,删除表中第i个元素,移动次数都是n-i。

五、顺序表的优缺点?为什么要引入链表?答:顺序表的优点是可以随机存取,缺点是前提必须开辟连续的存储空间且在第一位置做插入和删除操作时,数据的移动量特别大。

如果有一个作业是100k,但是内存最大的连续存储空间是99K,那么这个作业就不能采用顺序存储方式,必须采用链式存储方式。

数据结构复习资料

数据结构复习资料

一、填空题1、栈的特点是先进后出(或后进先出),队列的特点是先进先出。

2、顺序表中逻辑上相邻的元素物理位置也相邻,单链表中逻辑上相邻的元素物理位置不相邻。

3、算法的5个重要特性是__________、__________、_________、___________、___________。

4、线性表、栈、队列都是线性结构,可以在线性表的任何位置插入和删除元素,对于栈只能在栈顶位置插入和删除元素,对于队列只能在队尾位置插入和只能在队头删除元素。

5、下面树的先序、中序、后续遍历的结果依次为_________、___________、__________6、当数据量特别大需借助外部存储器对数据进行排序时,则这种排序称为外部排序。

7、在堆排序、快速排序和归并排序中,若从节省存储空间的角度考虑,则应首先选取堆排序方法;若只从排序结果的稳定性考虑,则应选择归并排序方法;若只从平均情况下排序的速度来考虑,则应选取快速排序方法。

二、选择题1、算法分析的两个主要方面是()。

A. 时间复杂度和空间复杂度B. 正确性和简明性C. 可读性和文档性D. 健壮性和科学性2、对于线性表最常用的操作是查找指定序号的元素和在末尾插入元素,则选择()最节省时间。

A. 顺序表B. 带头结点的双循环链表C. 单链表D. 带尾结点的单循环链表5、循环队列在进行删除运算时()A. 仅修改头指针B. 修改尾指针C. 头、尾指针都要修改D. 头、尾指针可能都要修改6、栈和队列的共同点是()。

A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点7、树最适合用来表示()A.有序数据元素 B. 无序数据元素C.元素之间具有分支层次关系的数据 D. 元素之间无联系的数据8、如果结点A有3个兄弟,而且B是A的双亲,则B的度是()A. 4B. 5C. 1D. 39、有关二叉树下列说法正确的是()A. 二叉树的度为2B. 一棵二叉树的度可以小于2C. 二叉树中至少有一个结点的度为2D. 二叉树中任何一个结点的度都为210、一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A. 250B. 500C. 505D. 以上答案都不对11、静态查找表与动态查找表二者的根本差别在于(B)A. 它们的逻辑结构不一样B. 施加在其上的操作不同C. 所包含的数据元素的类型不一样D. 存储实现不一样12、顺序查找法适合于存储结构为(B)的线性表。

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

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 )。

A. log2n+1 B.log2n-1 C. log2n D. log2(n+1)14. 从数据结构上讲,字符串是比较特殊的( C )。

A.堆栈 B.队列 C.线性表D.二叉树15.函数substring(“DATASTRUCTURE”,5,9)的返回值为( A )。

A.STRUCTURE B.DATAC.ASTRUCTUR D.DATASTRUCTURE16.队列是一种( B )的线性表。

A.先进后出B.先进先出 C.只能插入D.只能删除17.对一个算法的评价,不包括如下( A )方面的内容。

A.并行性 B.健壮性和可读性 C.正确性 D.时空复杂度18. 从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)19.采用开放定址法处理散列表的冲突时,其平均查找长度( C )。

A.低于链接法处理冲突 B. 与链接法处理冲突相同C.高于链接法处理冲突 D.高于二分查找20.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过( A )。

A. log2n+1 B.log2n-1 C. log2n D. log2(n+1)21.下列四种排序中( D )的空间复杂度最大。

A.堆B.冒泡排序 C.希尔排序 D.快速排序22.设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是( B )。

A. N0=N1+1 B. N=N2+1 C. N=Nl+N2D. N=2N1+l23.时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是( B )。

A. 冒泡排序B.堆排序C.希尔排序D.快速排序1.字符串必须以字符’\0’表示串值的终结。

√2.哈夫曼树中没有度数为1的结点。

√3.冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。

√4.设初始记录关键字基本有序,则快速排序算法的时间复杂度为O(nlog2n)。

5.分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。

√6.如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词。

√7.有向图的邻接表和逆邻接表中表结点的个数不一定相等。

8.如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零。

√9.线性表中的所有元素都有一个前驱元素和后继元素。

10.带权无向图的最小生成树是唯一的。

11. 线性表中的所有元素都有一个前驱元素和后继元素。

12. 非空的双向循环链表中任何结点的前驱指针均不为空。

√13.图的邻接矩阵法:n个顶点需要n*n个单元存储边(弧);空间效率为O(n2)。

√14.稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素。

15.入栈操作和入队列操作在链式存储结构上实现时需要考虑栈溢出的情况。

16.中序遍历一棵二叉排序树可以得到一个有序的序列。

√17.顺序表查找指的是在顺序存储结构上进行查找。

1.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X需要执行的语句序列:。

2. 具有n个顶点,条边的图,称为完全无向图;具有n个顶点,条弧的有向图,称为完全有向图。

3. 设输入序列为1、2、3,则经过栈的作用后可以得到____5____种不同的输出序列。

4. 设二叉树中结点的两个指针域分别为lchild和rchild,则判断指针变量p所指向的结点为叶子结点的条件是_p->lchild==0&&p->rchild==0 ___。

5. 设二叉树中结点的两个指针域分别为lchild和rchild,则判断指针变量p所指向的结点为叶子结点的条件是_ p->lchild==0&&p->rchild==0________。

6. 设一组初始记录关键字序列为(20,18,22,16,30,19),则以20为中轴的一趟快速排序结果为__19,18,16,20,30,22____________________________。

7. for(i=1,t=1,s=0;i<=n;i++) {t=t*i;s=s+t;}的时间复杂度为_____O(n) ____。

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

9. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=_2d______。

10. 设有向图G的二元组形式表示为G =(V,E),V={1,2,3,4,5},E={<1,2>,<2,4>,<4,5>,<1,3>,<3,2>,<3,5>},则该图的一种拓扑排序序列为___1,3,2,4,5_____________________ 。

11. 设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较___7_____次就可以断定数据元素X是否在查找表中。

12.设一组初始记录关键字序列为(49,38,65,97,76,13,27,50),则以d=4为增量的一趟希尔排序结束后的结果为________49,13,27,50,76,38,65,97 ______________。

13.设某棵二叉树的中序遍历序列为ABCD,后序遍历序列为BADC,则其前序遍历序列为___BADC_______。

14.完全二叉树中第5层上最少有_____1_____个结点,最多有___16______个结点。

15.设有一组初始记录关键字序列为(50,16,23,68,94,70,73),则将它们调整成初始堆只需把16与_____50______相互交换即可。

16. 子串的定位运算通常称为串的_串匹配___,是串处理中最重要的运算之一若n为主串长度,m为子串长度,则串的匹配算法时间复杂度为_m*n___。

17 在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为_ O(log2n)_______,整个堆排序过程的时间复杂度为_ O(nlog2n)_______。

18. 具有n个顶点,____ n(n-1)/2_________条边的图,称为完全无向图;具有n个顶点,____ n(n-1)____________条弧的有向图,称为完全有向图。

19 一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用二分查找,查找关键字62时的比较次数为___2____,查找成功时的平均查找长度_ASL=91*1+2*2+3*4+4*2)=25/9___。

20.设有一组初始记录关键字序列为(50,16,23,68,94,70,73),则将它们调整成初始堆只需把16与____50_______相互交换即可。

1.阅读下面的算法LinkList mynote(LinkList L) {//L是不带头结点的单链表的头指针 if(L&&L->next){q=L; L=L->next; p=L;S1: while(p->next) p=p->next;p->next=q; q->next=NULL;} return L;}请回答下列问题:1)说明语句S1的功能;答:查询链表的尾结点2)设链表表示的线性表为(a1,a2, …,an),写出算法执行后的返回值所表示的线性表________(a2,a3,……,an,a1)_______________________。

2. 阅读下面算法:void ABC(BTNode * BT) {if (BT) {ABC (BT->left);cout<<BT->data<<’’;ABC (BT->right);}}该算法的功能是:____递归地后序遍历链式存储的二叉树。

____________。

3.阅读下面算法void conversion(){Stack s; int n; SElemType e; initstack(s);printf("Please input number:");scanf(“%d”,&n);while(n){push(s,n%6); n=n/6;}while(!stackempty(s)){pop(s,e); printf(“%d”,e);}}1)指出该算法的功能。

相关文档
最新文档