数据结构考试题7

合集下载

电子科技大学网络教育-数据结构(专科)试题及答案(7)

电子科技大学网络教育-数据结构(专科)试题及答案(7)

电子科技大学网络教育-数据结构(专科)试题及答案(7)一、单选,共30题/每题2.5分/共75.0分:1、算法分析的两个主要方面是()。

A、正确性和简单性B、数据复杂性和程序复杂性C、可读性和文档性D、空间复杂度和时间复杂度得分:2.52、算法原则上都是能够由机器或人完成的。

整个算法好像是一个解决问题的“工作序列”,其中的每一步都是我们力所能及的一个动作。

这是算法的()。

A、正确性B、可行性C、确定性D、有穷性得分:2.53、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、()等5个特性。

A、可执行性、可移植性和可扩充性B、确定性、有穷性和稳定性C、易读性、稳定性和确定性D、可执行性、有穷性和确定性得分:2.54、无向图顶点v的度为关联于该顶点()的数目.A、顶点B、序号X、边∆、下标得分:2.55、将递归算法转换成对应的非递归算法时,通常需要使用下列哪种数据结构来保存中间结果()。

A、树B、队列X、链表∆、栈得分:2.56、某二叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左子树中结点数目为()。

A、3B、5X、2∆、4得分:2.57、已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应()。

A、将邻接矩阵的第ι行删除B、将邻接矩阵的第ι列元素全部置为0X、将邻接矩阵的第ι列删除∆、将邻接矩阵的第ι行元素全部置为0得分:2.58、带头结点的单链表head为空的判定条件是()。

A、ηεαδ!=NYΛΛB、ηεαδ->νεξτ!=NYΛΛX、ηεαδ->νεξτ==NYΛΛ∆、ηεαδ==NYΛΛ得分:0.09、生成树的构造方法有()。

A、深度优先B、深度优先和广度优先X、无后继的顶点优先∆、无前驱的顶点优先得分:2.510、下面程序段的时间复杂度是()。

for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A、O(m2)B、O(m*n)C、O(m+n)D、O(n2)得分:0.011、在一棵具有5层的满二叉树中结点总数为()。

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)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. 下面哪个数据结构用于实现哈希表?A. 栈B. 队列C. 散列表D. 堆7. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。

2. 二叉树的节点最多有______个子节点。

3. 堆是一种特殊的______。

4. 散列表的查找效率取决于______。

5. 图的遍历算法包括______和______。

6. 快速排序算法的平均时间复杂度为______。

7. 哈希表中的冲突解决方法有______和______。

8. 最小树算法包括______和______。

9. 最短路径算法包括______和______。

10. 并查集算法用于解决______问题。

第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。

2. 请简述二叉搜索树的特点。

3. 请简述哈希表的原理。

4. 请简述图的深度优先搜索算法。

5. 请简述最小树算法的原理。

第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。

数据结构考试题7

数据结构考试题7

要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。

每张答题纸都要写上姓名和序号。

一、单项选择题(每小题2分,共计30分)1. 算法的时间复杂度取决于。

A. 问题的规模B. 待处理数据的初始状态C. A和BD. 计算机的配置2. 由n个无序的元素创建一个有序单链表的算法的时间复杂度是。

A.O(nlog2n) B.O(n) C.O(n2) D.A或C3. 在 ______中将会用到栈结构。

A. 递归调用B. 函数调用C. 表达式求值D.以上场景都有4. 设循环队列的最大容量是N,front是头指针,rear是尾指针,则队空的判定条件为。

A. (rear+1)%N==frontB. rear+1==frontC. rear==frontD. rear=0,且front=05. 设二维数组A[3][5],每个数组元素占用2个存储单元,若按列优先顺序进行存储,A[0][0]的存储地址为100,则A[2][3]的存储地址是。

A. 122B. 126C. 114D. 1166. 在KMP算法中,串“ababaabab”的next数组值为_______。

A. -1,0,0,1,2,3,1,2,3B. -1,0,0,1,2,1,1,2,3C. -1,0,0,1,2,3,4,1,2D. -1,0,0,1,2,3,1,2,27. 在下列存储形式中,_______ 不是m叉树(m>2)的存储形式?A.双亲表示法B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法8.下面算法适合用于构造一个稠密图的最小生成树。

A. Dijkstra算法B. Prim算法C. Floyd算法D. Kruskal算法9. 方法可以判断一个有向图是否存在回路。

A. 求最小生成树B. 拓扑排序C. 求关键路径D. 求最短路径10. 已知图G的邻接表如图1所示,则从顶点V0出发进行深度优先遍历的结果是________。

图1 图G的邻接表A. 0,1,2,3,4B. 0,1,2,4,3C. 0,1,3,4,2D. 0,1,4,2,311. 二分查找和二叉排序树查找的时间性能。

数据结构试题及答案(十套)

数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。

A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。

A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。

A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。

当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。

数据结构试题7

数据结构试题7

专业 年级(本、专科) 学号______________ 姓 名 ________________密封 线德州学院期末考试试卷( 至 学年第 学期)课程名称: 数据结构 考试对象: 计科、信管本 试卷类型 7 考试时间: 120 分钟 一、选择题(每小题2分,共20分) 1.算法的计算量的大小称为计算的( )。

A .效率 B. 复杂性 C. 现实性 D. 难度2.有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( ) A. 543612 B. 453126 C. 346521 D. 2341563.在一个单链表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;4.当利用大小为N的数组顺序存储一个栈时,假定用top==N 表示栈空,则向这个栈插入一个元素后,应执行( )语句修改top 指针.A .top++B .top--C .top=0D .top5.对于顺序存储的队列,存储空间大小为n ,头指针为F ,尾指针为R 。

若在逻辑上看一个环,则队列中元素的个数为( )A .R-FB .n+R-FC .(R-F+1)mod nD .(n+R-F )mod n6.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( ). A .24 B .55 C .72 D .53 7.有n 个顶点的完全无向图中,则包含有( )条边. A .n(n-1) B .n(n-1)/2 C .n D .n²8.设i 为n 个结点的完全二叉树结点编号,i=1,2,3...n ;若i ≤(n-1)/2时,结点i 的右孩子为( )A .2iB .2i+1C .2i-1D .i+19.适用于折半查找的表的存储方式及元素排列要求为( )。

计算机学科专业基础综合数据结构-7

计算机学科专业基础综合数据结构-7

计算机学科专业基础综合数据结构-7(总分:100.00,做题时间:90分钟)一、单项选择题(总题数:28,分数:74.00)1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为______。

(分数:2.00)A.(n-1)/2B.n/2C.(n+1)/2 √D..n解析:[解析] 此结论需要考生当作定理一样的牢记。

顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为______,二分法查找只适用于查找顺序存储的有序表,平均比较次数为______。

在此假定N为线性表中结点数,且每次查找都是成功的。

(分数:4.00)A.N+1B.2log2NC.log2ND.N/2 √E.Nlog2NF..N2解析:A.N+1B.2log2NC.log2N √D.N/2E.Nlog2NF..N2解析:2.下面关于二分查找的叙述正确的是______。

(分数:2.00)A.表必须有序,表可以顺序方式存储,也可以链表方式存储B.表必须有序且表中数据必须是整型、实型或字符型C.表必须有序,而且只能从小到大排列D.表必须有序,且表只能以顺序方式存储√解析:二叉查找树的查找效率与二叉树的______有天,在______时查找效率最低。

(分数:4.00)A.高度B.结点的多少C.树形√D.结点的位置解析:A.结点太多B.完全二叉树C.呈单枝树√D.结点太复杂解析:3.当采用分块查找时,数据的组织方式为______。

(分数:2.00)A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块√C.数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D.数据分成若干块,每块(除最后一块外)中数据个数需相同解析:[解析] 本题主要考查分块查找的相关概念。

4.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用下列哪一种查找方法?______ (分数:2.00)A.分块√B.顺序C.二分法D.哈希解析:[解析] 由于题目只说明是线性表,因此排除二分法。

数据结构试题及答案7

数据结构试题及答案7

《数据结构》自考复习思考试题○7一、单选题(每小题2分,共20分)1、向顺序栈中压入新元素时,应当()。

A.先移动栈顶指针,再存入元素B.先存入元素,再移动栈顶指针C.先后次序无关紧要D.同时进行2、设有向图有n个顶点和e条边,采用领接表作为其存储表示,在进行拓扑排序时,总的计算时间为()。

A.O(nlog2e)B.O(n+e)C.O(ne) D.O(n2)3、一个对象序列的排序码为{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}4、线性链表不具有的特点是()。

A.随机访问B.不必事先估计所需存储空间大小C.插入与删除时不必移动元素D.所需空间与线性表长度成正比5、设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[ ]中,A[0][0]存入B[0]中,则A[8][5]在B[ ]中()位置。

A.32 B.33 C.41 D.656、设F是一个森林,B是由F转换得到的二叉树,F中有n个非叶结点,则B中右指针域为空的结点有()个。

A.n-1 B.n C.n+1 D.n+27、具有65个结点的完全二叉树的高度为()。

(根的层次号为0)A.8 B.7 C.6 D.58、若待排序对象序列在排序前已按其排序码递增顺序排序,则采用()方法比较次数最少。

A.直接插入排序B.快速排序C.归并排序D.直接选择排序9、在一个无向图中,所有顶点的度数之和等于所有边数的()倍。

A.3 B.2 C.1 D.1/210、对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为()。

A.R[0],R[1],R[2],R[3] B.R[0],R[13],R[2],R[3]C.R[6],R[2],R[4],R[3] D.R[6],R[4],R[2],R[3]二、判断题(每小题1分,共10分)()11、数据的基本单位是数据项。

数据结构试卷试题及答案

数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题5分,共40分)1. 数据结构是研究数据元素的()A. 存储结构B. 处理方法C. 逻辑结构D. 所有以上内容答案:D2. 在数据结构中,通常采用()方式来表示数据元素之间的逻辑关系。

A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B3. 下面哪一个不是栈的基本操作?()A. 入栈B. 出栈C. 判断栈空D. 获取栈顶元素答案:D4. 下面哪一个不是队列的基本操作?()A. 入队B. 出队C. 判断队列空D. 获取队头元素答案:D5. 下面哪一个不是线性表的特点?()A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素类型相同D. 数据元素类型可以不同答案:D6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?()A. 数据元素经常插入和删除B. 数据元素大小不固定C. 数据元素个数不确定D. 所有以上情况答案:D7. 下面哪一个不是树的遍历方式?()A. 前序遍历B. 中序遍历C. 后序遍历D. 翻转遍历答案:D8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?()A. 数据元素个数较少B. 数据元素查找频繁C. 数据元素插入和删除频繁D. 数据元素大小不固定答案:B二、填空题(每题5分,共30分)9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。

答案:栈顶10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。

答案:队尾、队头11. 二叉树中的节点包括______和______。

答案:根节点、子节点12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。

答案:两个13. 散列存储结构中,关键码到存储地址的映射方法称为______。

《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪种数据结构是线性结构?A. 栈B. 树C. 队列D. 图答案:A2. 在计算机科学中,什么是最基本的数据结构?A. 数组B. 链表C. 栈D. 树答案:C3. 下列哪种操作的时间复杂度是O(1)?A. 在链表中插入元素B. 在数组中查找元素C. 在树中删除节点D. 在图中寻找最短路径答案:B4. 下列哪种数据结构常常用于实现栈和队列?A. 数组B. 链表C. 树D. 图答案:A5. 下列哪种数据结构是有序的?A. 栈B. 队列C. 链表D. 图答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种后进先出(____)的数据结构。

答案:线性表2. 队列是一种先进先出(____)的数据结构。

答案:线性表3. 链表是一种____数据结构,由一系列节点组成。

答案:非线性4. 二叉树是一种特殊的树,它的每个节点最多有两个____。

答案:子节点5. 哈希表是通过____函数将关键字映射到表中的位置来访问数据。

答案:哈希三、判断题(每题2分,共20分)1. 树是一种线性结构。

()答案:错误2. 链表的插入和删除操作时间复杂度都是O(1)。

()答案:错误3. 图是一种线性结构。

()答案:错误4. 哈希表是一种基于顺序结构的的数据结构。

()答案:错误5. 在数据结构中,时间复杂度O(n)表示算法随着输入规模的增加而线性增长。

()答案:正确四、简答题(每题10分,共30分)1. 请简述栈和队列的特点和应用场景。

答案:栈是一种后进先出(LIFO)的数据结构,应用场景包括函数调用栈、表达式求值等。

队列是一种先进先出(FIFO)的数据结构,应用场景包括任务队列、缓冲区等。

2. 请简述链表的优缺点。

答案:链表的优点包括动态扩容、插入和删除操作时间复杂度为O(1)、可以方便地实现各种复杂数据结构。

缺点包括占用内存空间较大、不如数组支持随机访问。

数据结构第7章复习题

数据结构第7章复习题

ab edcf第七章图一、选择题1.图中有关路径的定义是()。

A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列C.由不同边所形成的序列 D.上述定义都不是2.设无向图的顶点个数为n,则该图最多有()条边。

A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.0 E.n23.一个n个顶点的连通无向图,其边的个数至少为()。

A.n-1 B.n C.n+1 D.nlogn;4.n个结点的完全有向图含有边的数目()。

A.n*n B.n(n+1) C.n/2 D.n*(n-l)5.在一个无向图中,所有顶点的度数之和等于所有边数()倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。

A.1/2 B.2 C.1 D.46.下面结构中最适于表示稀疏无向图的是(),适于表示稀疏有向图的是()。

A.邻接矩阵 B.逆邻接表 C.邻接多重表 D.十字链表 E.邻接表7.下列哪一种图的邻接矩阵是对称矩阵?()A.有向图 B.无向图 C.AOV网 D.AOE网8. 设如左图所示,在下面的5个序列中,符合深度优先遍历的序列有多少?()a eb d fc a c fde b a e df c b a e fd c b aef d b cA.5个 B.4个 C.3个 D.2个9.下面哪一方法可以判断出一个有向图是否有环(回路):A.深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 求关键路径10. 下面是求连通网的最小生成树的prim算法:集合VT,ET分别放顶点和边,初始为( 1 ),下面步骤重复n-1次: a:( 2 );b:( 3 );最后:( 4 )。

(1).A.VT,ET为空 B.VT为所有顶点,ET为空C.VT为网中任意一点,ET为空 D.VT为空,ET为网中所有边(2).A. 选i属于VT,j不属于VT,且(i,j)上的权最小B.选i属于VT,j不属于VT,且(i,j)上的权最大C.选i不属于VT,j不属于VT,且(i,j)上的权最小D.选i不属于VT,j不属于VT,且(i,j)上的权最大(3).A.顶点i加入VT,(i,j)加入ET B. 顶点j加入VT,(i,j)加入ET C. 顶点j加入VT,(i,j)从ET中删去 D.顶点i,j加入VT,(i,j)加入ET(4).A.ET 中为最小生成树 B.不在ET中的边构成最小生成树 C.ET中有n-1条边时为生成树,否则无解 D.ET中无回路时,为生成树,否则无解11. (1). 求从指定源点到其余各顶点的迪杰斯特拉(Dijkstra)最短路径算法中弧上权不能为负的原因是在实际应用中无意义;(2). 利用Dijkstra求每一对不同顶点之间的最短路径的算法时间是O(n3) ;(图用邻接矩阵表示)(3). Floyd求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路。

数据结构考试题及答案

数据结构考试题及答案

数据结构考试题及答案一、选择题1. 下列哪种数据结构是一种线性结构?A. 树B. 栈C. 图D. 队列答案:B. 栈2. 以下哪种不是二叉树的遍历方式?A. 先序遍历B. 层序遍历C. 后序遍历D. 中序遍历答案:B. 层序遍历3. 在队列中,哪种操作不是O(1)时间复杂度的?A. 入队B. 出队C. 判空D. 获取队首元素答案:D. 获取队首元素二、填空题4. 二叉查找树的中序遍历结果为_______。

答案:升序排列的序列5. 栈的特点是_______进,_______出。

答案:后进,先出6. 图中两点间存在边则称它们为_______。

答案:邻接点三、简答题7. 请简要介绍一下栈和队列的应用场景及区别。

答:栈和队列都是常用的数据结构,栈适合用于实现括号匹配、表达式求值等场景,而队列常用于实现广度优先搜索、缓存队列等。

栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。

8. 什么是哈希表?它的优缺点分别是什么?答:哈希表是一种通过哈希函数将关键字映射到数组位置的数据结构。

其优点是能够快速查找、插入、删除元素,时间复杂度接近O(1);缺点是可能发生哈希冲突,导致性能下降。

四、综合题9. 给定以下无向图的邻接矩阵表示,请写出图的深度优先搜索(DFS)遍历路径。

```0 1 2 30 0 1 0 11 1 0 1 12 0 1 0 13 1 1 1 0```答:起始节点为0,路径:0 - 1 - 3 - 210. 写出以下树的层序遍历结果。

```1/ \2 3/ \ / \4 5 6 7```答:1 - 2 - 3 - 4 - 5 - 6 - 7以上就是数据结构考试题及答案,希望对您有所帮助。

如果有不清楚的地方,欢迎随时向老师询问。

祝您考试顺利!。

计算机学科专业基础综合数据结构-7

计算机学科专业基础综合数据结构-7

计算机学科专业基础综合数据结构-7一、单项选择题(总题数:28,分数:74.00)1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为______。

A.(n-1)/2B.n/2C.(n+1)/2 √D..n此结论需要考生当作定理一样的牢记。

顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为______,二分法查找只适用于查找顺序存储的有序表,平均比较次数为______。

在此假定N为线性表中结点数,且每次查找都是成功的。

(分数:4.00)A.N+1B.2log2NC.log2ND.N/2 √E.Nlog2NF..N2A.N+1B.2log2NC.log2N √D.N/2E.Nlog2NF..N22.下面关于二分查找的叙述正确的是______。

A.表必须有序,表可以顺序方式存储,也可以链表方式存储B.表必须有序且表中数据必须是整型、实型或字符型C.表必须有序,而且只能从小到大排列D.表必须有序,且表只能以顺序方式存储√二叉查找树的查找效率与二叉树的______有天,在______时查找效率最低。

(分数:4.00)A.高度B.结点的多少C.树形√D.结点的位置A.结点太多B.完全二叉树C.呈单枝树√D.结点太复杂3.当采用分块查找时,数据的组织方式为______。

A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块√C.数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D.数据分成若干块,每块(除最后一块外)中数据个数需相同本题主要考查分块查找的相关概念。

4.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用下列哪一种查找方法?______A.分块√B.顺序C.二分法D.哈希由于题目只说明是线性表,因此排除二分法。

哈希算法虽然有最快的查找效率,但建立哈希表无法适应动态变化的要求。

数据结构考试试题及答案

数据结构考试试题及答案

数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。

答案:线性2. 一个具有n个顶点的无向图的边数最多为______。

答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。

答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。

数据结构的试题及答案

数据结构的试题及答案

数据结构的试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,()是数据元素之间的相互关系的集合。

A. 数据B. 结构C. 存储结构D. 逻辑结构答案:D2. 线性表的顺序存储结构中,存储元素的物理位置是()。

A. 连续的B. 离散的C. 任意的D. 无关的答案:A3. 在二叉树的遍历方法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。

A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法中,()是将所有发生冲突的元素存储在同一个链表中。

A. 线性探测B. 链地址法C. 再散列D. 双散列答案:B5. 在图的遍历算法中,深度优先搜索(DFS)算法使用的辅助数据结构是()。

A. 栈B. 队列C. 链表D. 数组答案:A二、填空题(每题2分,共10分)1. 在数据结构中,算法的时间复杂度通常用()表示。

答案:O(n)2. 一个栈的初始状态为空,依次执行了Push(1), Push(2), Pop(), Push(3), Pop()操作后,栈顶元素是()。

答案:13. 在二叉搜索树中,对于任意节点,其左子树中的所有值都()该节点的值。

答案:小于4. 哈希表的装载因子是表中已填入的元素个数与哈希表的()之比。

答案:总容量5. 图的邻接矩阵表示法中,如果两个顶点之间有边相连,则对应的矩阵元素值为()。

答案:1三、简答题(每题5分,共20分)1. 请简述什么是递归,并给出一个递归算法的例子。

答案:递归是一种算法设计技巧,它允许一个函数直接或间接地调用自身。

递归算法的例子是计算阶乘:n! = n * (n-1)!,其中n! = 1当n=0时。

2. 请解释什么是堆排序,并简述其基本步骤。

答案:堆排序是一种基于堆数据结构的比较排序算法。

基本步骤包括构建最大堆,然后重复移除堆顶元素并调整剩余元素以保持最大堆属性。

3. 请描述什么是图的广度优先搜索(BFS)算法,并给出其算法步骤。

【数据结构期末试题及答案】样卷7

【数据结构期末试题及答案】样卷7

2020学年数据结构期末试题及答案(七)一、选择题1、12、对于具有n个顶点的图,若采用邻接矩阵表示,则该矩阵的大小为()。

A. nB. n2C. n-1D. (n-1)22、如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是()。

A. 完全图B. 连通图C. 有回路D. 一棵树3、关键路径是事件结点网络中()。

A. 从源点到汇点的最长路径B. 从源点到汇点的最短路径C. 最长的回路D. 最短的回路4、下面()可以判断出一个有向图中是否有环(回路)。

A. 广度优先遍历B. 拓扑排序C. 求最短路径D. 求关键路径5、带权有向图G用邻接矩阵A存储,则顶点i的入度等于A中()。

A. 第i行非无穷的元素之和B. 第i列非无穷的元素个数之和C. 第i行非无穷且非0的元素个数D. 第i行与第i列非无穷且非0的元素之和6、采用邻接表存储的图,其深度优先遍历类似于二叉树的()。

A. 中序遍历B. 先序遍历C. 后序遍历D. 按层次遍历7、无向图的邻接矩阵是一个()。

A. 对称矩阵B. 零矩阵C. 上三角矩阵D. 对角矩阵8、当利用大小为N的数组存储循环队列时,该队列的最大长度是()。

A. N-2B. N-1C. ND. N+19、邻接表是图的一种()。

A. 顺序存储结构B.链式存储结构C. 索引存储结构D. 散列存储结构10、下面有向图所示的拓扑排序的结果序列是()。

A. 125634B. 516234C. 123456D. 52164311、在无向图中定义顶点vi与vj之间的路径为从vi到vj的一个()。

A. 顶点序列B. 边序列C. 权值总和D. 边的条数12、在有向图的逆邻接表中,每个顶点邻接表链接着该顶点所有()邻接点。

A. 入边B. 出边C. 入边和出边D. 不是出边也不是入边13、设G1=(V1,E1)和G2=(V2,E2)为两个图,如果V1V2,E1E2则称()。

A. G1是G2的子图B. G2是G1的子图C. G1是G2的连通分量D. G2是G1的连通分量14、已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应()。

数据结构考试题库及答案

数据结构考试题库及答案

数据结构考试题库及答案一、选择题1. 下列哪个不是线性结构?A. 栈B. 队列C. 双向链表D. 树答案:D2. 在顺序存储结构中,数据元素的物理位置与逻辑位置相同的是哪种结构?A. 栈B. 队列C. 线性表D. 树答案:C3. 下列哪种排序算法的时间复杂度是O(nlogn)?A. 冒泡排序B. 选择排序C. 快速排序D. 插入排序答案:C4. 在二叉树中,度为0的节点称为()。

A. 根节点B. 内节点C. 叶子节点D. 父节点答案:C5. 下列哪种图的邻接矩阵是对称的?A. 有向图B. 无向图C. 有向连通图D. 无向连通图答案:B二、填空题6. 在链表中的每个节点至少包含两个部分:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。

7. 在顺序表中,元素之间的逻辑关系是由它们的相对位置来体现的。

8. 快速排序的基本思想是:在待排序序列中选取一个基准元素,将序列中所有小于基准元素的元素放在基准元素前面,所有大于基准元素的元素放在基准元素后面。

9. 图中的每个节点称为顶点,顶点之间的连线称为边。

10. 在哈希表中,哈希函数的目的是将关键字映射到散列地址。

三、判断题11. 在顺序表中插入一个元素的时间复杂度为O(1)。

()答案:错误。

插入一个元素的时间复杂度为O(n),因为可能需要移动其他元素。

12. 在链表中删除一个元素的时间复杂度为O(n)。

()答案:错误。

删除一个元素的时间复杂度为O(1),只要找到该元素的前一个节点即可。

13. 二分查找只适用于有序的顺序表。

()答案:正确。

14. 在二叉树中,任意节点的度数不会超过2。

()答案:正确。

15. 图的邻接表表示法比邻接矩阵表示法更加节省空间。

()答案:正确。

四、应用题16. 请用C语言实现一个顺序栈的数据结构,并给出入栈、出栈和判断栈空的操作。

答案:```c#define MAXSIZE 100typedef struct {int data[MAXSIZE];int top;} SeqStack;// 初始化栈void InitStack(SeqStack s) {s->top = -1;}// 判断栈是否为空int StackEmpty(SeqStack s) {return s->top == -1;}// 入栈int Push(SeqStack s, int x) {if (s->top == MAXSIZE - 1) {return 0; // 栈满}s->data[++s->top] = x;return 1;}// 出栈int Pop(SeqStack s, int x) {if (s->top == -1) {return 0; // 栈空}x = s->data[s->top--];return 1;}```17. 请简述二分查找的基本思想。

大学数据结构习题7

大学数据结构习题7

数据结构习题7树和二叉树一、判断题1. 树结构中每个结点最多只有一个直接前驱。

(√)2. 完全二叉树一定是满二叉树。

(×)3. 在中序线索二叉树中,右线索若不为空,则一定指向其双亲。

(×)4. 一棵二叉树中序遍历序列的最后一个结点,必定是该二叉树前序遍历的最后一个结点。

(√)5. 二叉树的前序遍历中,任意一个结点均处于其子女结点的前面。

(√)6. 由二叉树的前序遍历序列和中序遍历序列,可以推导出后序遍历的序列。

(√)7. 在完全二叉树中,若一个结点没有左孩子,则它必然是叶子结点。

(√)8. 在哈夫曼编码中,当两个字符出现的频率相同,其编码也相同,对于这种情况应该做特殊处理。

(×)9. 含多于两棵树的森林转换的二叉树,其根结点一定无右孩子。

(×)10. 具有n个叶子结点的哈夫曼树共有2n-1个结点。

(√)二、填空题1. 在树中,一个结点所拥有的子树数称为该结点的度。

2. 度为零的结点称为叶(或叶子,或终端)结点。

3. 树中结点的最大层次称为树的深度(或高度)。

4. 对于二叉树来说,第i层上至多有 2i-1个结点。

5. 深度为h的二叉树至多有 2h-1 个结点。

6. 由一棵二叉树的前序序列和中序序列可唯一确定这棵二叉树。

7. 有20个结点的完全二叉树,编号为10的结点的父结点的编号是 5 。

8. 哈夫曼树是带权路径长度的最小的二叉树。

9. 由二叉树的后序和中序遍历序列,可以唯一确定一棵二叉树。

10. 某二叉树的中序遍历序列为:DEBAC,后序遍历序列为:EBCAD。

则前序遍历序列为 DABEC 。

11. 设一棵二叉树结点的先序遍历序历为:ABDECFGH,中序遍历序历为:DEBAFCHG,则二叉树中叶结点是: E、F、H 。

12. 已知完全二叉树的第8层有8个结点,则其叶结点数是 68 。

13. 由树转换二叉树时,其根结点无右子树。

14. 采用二叉链表存储的n个结点的二叉树,一共有 2n 个指针域。

数据结构自考题-7_真题(含答案与解析)-交互

数据结构自考题-7_真题(含答案与解析)-交互

数据结构自考题-7(总分115, 做题时间90分钟)一、单项选择题1.已知一采用开放地址法解决Hash表冲突,要从此Hash表中删除一个记录,正确的做法是( )A.将该元素所在的存储单元清空B.将该元素用一个特殊的元素替代C.将与该元素有相同Hash地址的后继元素顺次前移一个位置D.用与该无素有相同Hash地址的最后插入表中的元素替代SSS_SIMPLE_SINA B C D分值: 2答案:B2.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( )A.不一定相同B.都相同C.都不相同D.互为逆序SSS_SIMPLE_SINA B C D分值: 2答案:B3.对于一棵具有三个结点的二叉树,共有( )种不同的树的形态。

A.4 B.5 C.6 D.7SSS_SIMPLE_SINA B C D分值: 2答案:B4.栈一般情况下常采用以下两种存储方式( )A.顺序结构和散列结构B.散列结构和链式结构C.线性结构和非线性结构D.顺序存储结构和链式结构SSS_SIMPLE_SINA B C D分值: 2答案:D5.考虑下列四种排序方法,在排序过程中,关键码比较的次数与记录的初始排列顺序无关的是( )A.直接插入排序和快速排序B.快速排序和归并排序C.直接选择排序和归并排序D.直接插入排序和归并排序SSS_SIMPLE_SINA B C D分值: 2答案:C6.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( ) A.数据元素具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等SSS_SIMPLE_SINA B C D分值: 2答案:B7.下列说法中正确的是( )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中的每个结点的度为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于2SSS_SIMPLE_SINA B C D分值: 2答案:D8.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( )A.3,2,6,1,4,5 B.3,4,2,1,6,5 C.1,2,5,3,4,6 D.5 ,6,4,2,3,1SSS_SIMPLE_SINA B C D分值: 2答案:B9.设串s1="Data Structures、with Java",s2="it",则子串定位函数index(s1,s2)的值为( )A.15 B.16 C.17 D.18SSS_SIMPLE_SINA B C D分值: 2答案:C10.在一个具有N个顶点的无向完全图中,包含的边的总数是( ) A.N(N-1)/2 B.N(N-1) C.N(N+1) D.N(N+1)/2SSS_SIMPLE_SINA B C D分值: 2答案:A11.二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5。

2023年7月国开电大本科《数据结构》期末考试试题及答案

2023年7月国开电大本科《数据结构》期末考试试题及答案

2023年7月国开电大本科《数据结构》期末考试试题及答案试题部分1. 请简述数据结构的定义及其作用。

2. 什么是栈和队列?请分别描述它们的特点和应用场景。

3. 字符串是一种常见的数据类型,请列举至少两种常见的字符串操作方法,并解释它们的作用。

4. 请说明二叉树的定义和特点,并给出一个二叉树的示例。

5. 简要描述图的基本概念,并给出一个使用邻接矩阵表示图的例子。

6. 请解释深度优先搜索(DFS)和广度优先搜索(BFS)算法的原理,并说明它们在图的遍历中的应用。

7. 树的遍历是指按照一定顺序访问树中的所有节点。

请解释前序遍历、中序遍历和后序遍历的概念。

8. 请解释散列函数的作用和原理,并说明散列表在实际中的应用。

9. 简要介绍至少两种排序算法,并分别说明它们的时间复杂度。

10. 简述动态规划算法的原理及应用场景。

答案部分1. 数据结构是指数据元素之间的关系,以及对数据元素的操作。

它的作用是组织和存储数据,以便高效地访问和操作。

2. 栈是一种只能在一端进行插入和删除操作的线性数据结构,特点是后进先出(LIFO)。

它常用于括号匹配、表达式求值等场景。

队列是一种只能在一端插入,在另一端删除的线性数据结构,特点是先进先出(FIFO)。

它常用于任务调度、缓存管理等场景。

3. 常见的字符串操作方法包括字符串连接、子串查找。

字符串连接用于将两个字符串合并为一个字符串。

子串查找用于在一个字符串中找到特定子串的位置或判断子串是否存在。

4. 二叉树是一种特殊的树结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。

它的特点是具有递归的结构,可以用于实现排序、查找等功能。

例如,下图是一个二叉树的示例:A/ \B C/ \D E5. 图是由节点和边组成的一种数据结构,节点表示实体,边表示节点之间的关系。

邻接矩阵可以用于表示图结构,矩阵的行和列分别表示节点,矩阵中的值表示节点之间的关系。

例如,下面是一个使用邻接矩阵表示的图的例子:| A | B | C |--|---|---|---|A| 0 | 1 | 1 |B| 1 | 0 | 1 |C| 1 | 1 | 0 |6. 深度优先搜索(DFS)和广度优先搜索(BFS)是图的遍历算法。

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

要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。

每张答题纸都要写上姓名和序号。

一、单项选择题(每小题2分,共计30分)1. 算法的时间复杂度取决于。

A. 问题的规模B. 待处理数据的初始状态C. A和BD. 计算机的配置2. 由n个无序的元素创建一个有序单链表的算法的时间复杂度是。

A.O(nlog2n) B.O(n) C.O(n2) D.A或C3. 在______中将会用到栈结构。

A. 递归调用B. 函数调用C. 表达式求值D.以上场景都有4. 设循环队列的最大容量是N,front是头指针,rear是尾指针,则队空的判定条件为。

A. (rear+1)%N==frontB. rear+1==frontC. rear==frontD. rear=0,且front=05. 设二维数组A[3][5],每个数组元素占用2个存储单元,若按列优先顺序进行存储,A[0][0]的存储地址为100,则A[2][3]的存储地址是。

A. 122B. 126C. 114D. 1166. 在KMP算法中,串“ababaabab”的next数组值为_______。

A. -1,0,0,1,2,3,1,2,3B. -1,0,0,1,2,1,1,2,3C. -1,0,0,1,2,3,4,1,2D. -1,0,0,1,2,3,1,2,27. 在下列存储形式中,_______ 不是m叉树(m>2)的存储形式?A.双亲表示法B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法8.下面算法适合用于构造一个稠密图的最小生成树。

A. Dijkstra算法B. Prim算法C. Floyd算法D. Kruskal算法9. 方法可以判断一个有向图是否存在回路。

A. 求最小生成树B. 拓扑排序C. 求关键路径D. 求最短路径10. 已知图G的邻接表如图1所示,则从顶点V0出发进行深度优先遍历的结果是________。

图1 图G的邻接表A. 0,1,2,3,4B. 0,1,2,4,3C. 0,1,3,4,2D. 0,1,4,2,311. 二分查找和二叉排序树查找的时间性能。

A. 相同B. 有时不同C. 完全不同D. 数量级都是O(log2n)12.关于m阶B-树说法错误的是。

A. m阶B-树是一棵平衡的m叉树B. B-树中的查找无论是否成功都必须找到最下层结点C. 根结点最多含有m棵子树D. 根结点至少含有2棵子树13. 时间复杂度恒为O(nlog2n)且不受数据初始状态影响的排序算法是()。

A.归并排序B.希尔排序C.快速排序D.简单选择排序14. 有一种排序方法,它每一趟都将未排序序列中的一个元素,插入到已排序序列的合适位置,该排序方法是()。

A. 堆排序B. 冒泡排序C. 直接插入排序D. 简单选择排序15. 堆的形状是一棵_______。

A. 满二叉树B. 二叉判定树C. 平衡二叉树D. 完全二叉树二、问答题(共计45分)1. 有以下算法,分析执行fun(a,n,0)的时间复杂度。

需要推导过程。

(7分)void fun (int a[], int n, int k ) { // 数组a共有n个元素1 if (k==n-1){2for(int i = 0; i < n; i++)3printf(“%d\n”, a[i];4}5 else {6for (int i = k; i < n; i++)7a[i] = a[i] + i*i;8fun(a,n,k+1);9 }2. 已知某二叉树的中序和后序遍历序列分别为BFDJGACHKEI和FJGDBKHIECA,请画出该二叉树,并给出该二叉树的先序遍历序列。

(8分)3. 对于图2所示的带权有向图,若采用Dijkstra算法求从顶点a到其他顶点的最短路径和长度,第一条最短路径为:a->c,路径长度2,则求得的剩余最短路径依次是什么?(请按Dijkstra算法执行时产生最短路径的顺序,给出各最短路径及其长度)。

(10分)图2 一个有向图4. 设有一组关键字{32,13,49,24,38,21,4,12},其哈希函数为:H(key)=key % 7,采用开放地址法的线性探查法解决冲突,试在0~9的哈希地址空间中对该关键字序列构造哈希表,并求等概率下查找成功和查找失败的平均查找长度。

(10分)5. 有一组关键字序列{66,89,8,123,9,44,55,37,200,127,98}:(1)请将其调整成初始大根堆,并画出初始大根堆的树型表示。

(5分)(2)采用堆排序实现按关键字递增排序,请画出当有1个最大的关键字已放置到最终位置时,剩余关键字构成的大根堆。

(5分)三、算法设计题(共计25分)1. 若一元稀疏多项式采用有序单链表进行存储,请给出一元稀疏多项式的存储结构,并基于此存储结构设计一个算法用于判断两个一元稀疏多项式是否相等。

(10分)2. 假设二叉排序树采用中序线索链表作为存储结构进行存储,请写出该线索链表的存储结构,并编写算法输出该二叉排序树中所有值在a,b之间的关键字,其中a < b,二叉排序树左子树结点的值小于根结点的值,右子树结点的值大于根结点的值,树中没有关键字相重的结点。

(15分)“数据结构”考试试题(A)参考答案一、单项选择题(每小题2分,共30分)1~5. CDDCA6~10. ADBBA11~15. B BACD二、问答题(共45分)1. 设fun(a,n,k)的执行时间为T1(n,k),则fun(a,n,0)的执行时间为T(n)=T1(n,0)。

由fun()算法可知:T 1(n,k)=n(n-k)+T1(n,k+1)k=n-1others ìíïîï则T(n)=T1(n,0)=n+T1(n,1)=n+(n-1)+T1(n,2) = …= n+(n-1)+…+2+T1(n,n-1)=(n+2)(n-1)2+n=O(n2)评分说明:过程5分,答案2分。

只有正确结果,给2分。

2. 二叉树如下图所示:6分先序遍历序列为:ABDFGJCEHKI 2分3. 第二条:a->c->f,长度为6 2分第三条:a->c->e,长度为10 2分第四条:a->c->f->d,长度为11 2分第五条:a->c->f->d->g,长度为14 2分第六条:a->b,长度为15 2分哈希表如下:6分ASL成功=(1+1+1+1+3+2+4+4)/8=17/8 2分ASL失败=(3+2+1+7+6+5+4)/7=4 2分4. (1)初始大根堆: 5分(2)1个元素放入其最终位置后,剩余元素构成的大根堆:5分三、算法设计题(25分)1. 一元稀疏多项式采用带头结点的有序单链表进行存储,结点的存储结构如下:3分typedef struct node{int coef; // 系数int expn; // 指数struct node *next;} PNode;算法如下:7分void compare(PNode *P1, PNode *P2){// 多项式按指数递增的顺序进行存储PNode *P, *Q;P = P1->next;Q = P2->next;while (P!=NULL && Q!=NULL){if(P->expn==Q->expn && P->coef == Q->coef){P=P->next;Q=Q->next;}else{printf(“多项式不匹配!\n”);return;}}if(P || Q)printf(“多项式不匹配!\n”);printf(“多项式匹配!\n”);return;}2. 解:二叉排序树的结点定义如下:3分typedef struct Node {int data;struct Node *lchild, *rchild; //左右孩子指针int LTag, RTag; //左右标志,0表示孩子,1表示线索} BSTNode;算法如下:12分void report(BSTNode *T, int a, int b){p = T->lchild; // p指向根结点while (p != T) { // 空树或遍历结束时,p==Twhile (p->LTag==0) p = p->lchild; // 寻找第一个结点if(p->data > a && p->data < b)printf(“%d\n”, p->data);while (p->RTag==1 && p->rchild!=T) {p = p->rchild;if(p->data > b) return; // 结点的值大于b,算法结束if(p->data > a && p->data < b)printf(“%d\n”,p->data);}p = p->rchild; // p进至其右子树根}}。

相关文档
最新文档