广州大学插本数据结构试题
(专升本)《数据结构》试题三套

(专升本)《数据结构》试题三套数据结构试题三套一、单选题1. 在二叉树的遍历过程中,如果先访问根节点,则得到的是:A. 先序遍历B. 中序遍历C. 后序遍历D. 层次遍历2. 下列数据结构中,不属于线性结构的是:A. 数组B. 链表C. 栈D. 队列3. 哪种数据结构可用于实现递归算法的运算过程?A. 数组B. 链表C. 栈D. 队列4. 在队列中,允许删除的一端称为:A. 队首B. 队尾C. 栈顶D. 栈底5. 下列哪种排序算法的时间复杂度最坏情况下也是O(nlogn)?A. 插入排序B. 冒泡排序C. 快速排序D. 选择排序二、填空题1. 拓扑排序是一种按照有向图的拓扑序列排列顶点的算法。
如果一个有向图存在环,则该图不可进行拓扑排序。
拓扑排序的时间复杂度为_______。
2. 假设有一个有n个元素的数组,要通过比较元素的大小来确定元素在数组中的位置,最坏情况下需要比较的次数为_______。
3. 假设有一个有n个元素的数组,按照从小到大的顺序进行插入排序。
已知数组在最坏情况下的逆序对数量为k,则进行插入排序的时间复杂度为_______。
4. 快速排序的时间复杂度取决于划分点的选择。
若每次总是选择数组的第一个元素作为划分点,则当数组已经有序时,快速排序的时间复杂度为_______。
5. 在哈希表中,冲突解决方法有很多种,其中比较常用的是_______和_______。
三、编程题1. 请编写一个函数,实现冒泡排序算法,并对一个整型数组进行排序。
2. 请编写一个函数,实现二分查找算法,并返回查找结果的索引位置。
3. 请编写一个函数,实现栈的逆序操作。
要求只能使用一个额外的栈空间。
4. 请编写一个函数,实现队列的逆序操作。
要求只能使用一个额外的栈空间。
5. 请编写一个函数,实现递归算法,计算斐波那契数列的第n项。
以上为《数据结构》试题三套,包括单选题、填空题和编程题。
通过这些试题,可以测试学生对数据结构相关知识的掌握程度,并培养其分析和解决问题的能力。
数据结构与算法试卷及答案6

广州大学学年第学期考试卷课程数据结构与算法考试形式(闭卷,考试)信息学院系专业级班学号:姓名:一、填空题:(每格2分,共20分)1.时间复杂度O(1)的意思是。
2.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,需要移动表中个数据元素(设线性表的首元素是第1个元素)。
3.设存储分配是从低地址到高地址进行的。
若每个数据元素占用4个存储单元,则某数据元素的地址是指它所占用的单元的。
4.将一个20阶的五对角矩阵中所有非零元素压缩存储到一个一维数组中,该一维数组至少应该有个数组元素才行。
5.当队列的最大长度难以估计时,队列最好采用存储结构。
6.若某堆栈初始为空,PUSH与POP分别表示对堆栈进行一次进栈与出栈操作,那么,对于输入序列a,b,c,d,e,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSh,POP以后,输出序列应该是。
7.设n个数据元素的进栈序列为P1,P2,P3,……,Pn,出栈序列为1,2,3,……,n,若Pn =1,则Pi(1≤i<n)的值。
8.在建立散列表时,若散列函数为H(k),a和b分别为关键字值,则当时,称此现象为为散列冲突。
9.若对序列(fang,deng,an,wang,shi,bai,tang,liu)采用快速排序法按字典顺序进行排序,并且以序列的第一个元素作为分界元素,当该分界元素的排序最终位置确定那一刻,序列的状态是_____ 。
10.冒泡排序法、快速排序法、堆积排序法和二路归并排序法四种排序法中,要求辅助空间最多的方法是 排序法。
二、单项选择题(每题1分,共10分)1.( )数据的存储结构通常可以有:A .两种,它们分别是:顺序存储结构和链式存储结构B .三种,它们分别是:顺序存储结构、链式存储结构与索引结构C .三种,它们分别是:顺序存储结构、链式存储结构与散列结构D .四种,它们分别是:顺序存储结构、链式存储结构、索引结构与散列结构2.( )若长度为n 的非空线性表采用顺序存储结构,在表的第i 个位置插入一个新的数据元素前,首先需要移动表中几个数据元素?(设线性表的首元素是第1个元素)A .n-iB .n+iC .n-i+1D .n-i-13.( )若变量list 是某带头结点的循环链表的头结点指针,当变量p (p 与list 同类型)指向链表的最后那个链结点时:A . 该结点的指针域为空B . p 为空C . p 的内容与头结点的内容相同D . 该链结点指针域内容与list 的内容相同 4.( )删除非空线性链表中由p 所指链结点的直接后继结点的过程时依次执行:A .r=p->link;p->link=r;free(r);B .r=p->link;p->link=r->link;free(r) ;C .r=p->link;p->link=r->link;free(p);D .p->link=p->link->link;free(p);5.( )若二叉树中度为2的结点有15个,度为1的结点有10个,则该二叉树有几个结点?A .41B .31C .25D .306.( )若某完全二叉树的深度为h ,则该完全二叉树中至少有几个结点?A .2hB .21h -C .21h +D .12h -7.( )在二叉排序树中进行查找的时间效率与什么有关?A .二叉排序树的深度B .二叉排序树的结点的个数C .被查找结点的度D .二叉排序树的存储结构8. ( )在带权图中,两个顶点之间的路径长度是指:A .路径上的顶点数目B .路径上的边的数目C .路径上顶点和边的数目D .路径上所有边上的权值之和9.( ) 若具有n 个顶点的无向连通图采用邻接矩阵表示,则邻接矩阵中至少有多少个非零元素?A .2(n-1)B .n/2C .n+1D .n-1 10.( )带权连通图G=(V ,E),其中V={12345v v v v v },E={()()()()()()()()121314232425344576984462,,,,,,,,,,,,,,,v v v v v v v v v v v v v v v v }(注:顶点偶对右下角的数据为边上的权值),G 的最小生成树的权值之和为:A .16B .17C .18D .19三、判断题(在括号内填上“√”或“╳”,每题1分,共10分,做错不倒扣)1. ( )数据的定义和实现都取决于数据的逻辑结构.2. ( )紧凑结构的存储密度大于1,非紧凑结构的存储密度小于等于1.3. ( )链表与顺序表相比,在链表上做插入、删除运算要方便些。
数据结构考试题目及答案pdf

数据结构考试题目及答案pdf一、单项选择题(每题2分,共10分)1. 在数据结构中,线性结构和非线性结构的主要区别在于()。
A. 数据元素之间是否有逻辑关系B. 是否有且仅有一个根节点C. 是否有多个根节点D. 数据元素之间是否有顺序关系答案:A2. 链表中每个节点包含数据元素和()。
A. 一个指针B. 多个指针C. 一个数据域D. 一个数据域和一个指针答案:D3. 在二叉树的遍历中,先序遍历的顺序是()。
A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表解决冲突的方法不包括()。
A. 开放寻址法B. 链地址法C. 线性探测法D. 二分查找法答案:D5. 堆是一种特殊的完全二叉树,其特点是()。
A. 每个节点的值都大于其子节点的值B. 每个节点的值都小于其子节点的值C. 每个节点的值都大于或等于其子节点的值D. 每个节点的值都小于或等于其子节点的值答案:C二、填空题(每题2分,共10分)1. 在顺序表中,插入一个元素的平均时间复杂度为 O(n) 。
2. 栈是一种特殊的线性表,其特点是后进先出(LIFO),即后进的元素先出栈。
3. 快速排序的时间复杂度在最坏情况下为 O(n^2) 。
4. 广义表的表示形式为 (a, b, c) ,其中a、b、c可以是数据元素或子表。
5. 在图的遍历中,深度优先搜索(DFS)使用的是栈数据结构。
三、简答题(每题10分,共20分)1. 请简述二叉搜索树和平衡二叉树的区别。
答:二叉搜索树是一种特殊的二叉树,其中每个节点的左子树只包含小于该节点的值,右子树只包含大于该节点的值。
平衡二叉树除了满足二叉搜索树的性质外,还要求每个节点的左子树和右子树的高度差不超过1,以保持树的平衡,从而提高查找效率。
2. 什么是图的连通分量?请举例说明。
答:图的连通分量是指图中的最大的连通子图。
如果一个图不是连通的,那么它将被划分为若干个连通分量,每个连通分量内部的顶点都是相互连通的,但不同分量之间没有直接的边相连。
(专升本)《数据结构》试题三套

(专升本)《数据结构》试题(模A)一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号(A,B,C,D)写在下表中,答题写在其它地方无效;每小题1分,共11分)1.A.元素B.结点C.数据类型D.数据项2.下列算法suanfa2的时间复杂度为____。
int suanfa2(int n){ int t=1;while(t<=n)t=t*2;return t;}A.O(log2n)B.O(2n)C.O(n2)D.O(n)3.____又称为FIFO表。
A.队列B.散列表C.栈D.哈希表4.若6行8列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储单元,则第5行第3列的元素(假定无第0行第0列)的地址是____。
A.1086B.1032C.1068D.答案A,B,C都不对5.广义表(a,((b,( )),c),(d,(e)))的深度是____。
A.5B.4C.3D.26.有n(n>0)个结点的完全二叉树的深度是____。
A.⎡log2(n)⎤B.⎡log2(n)+1⎤C.⎣log2(n+1)⎦D.⎣log2(n)+1⎦7.与中缀表达式a+b*c-d等价的前缀表达式是____。
A.+a-*bcdB.*+-abcdC.-+a*bcdD.abcd+*-8.折半查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需依次与表中元素____进行比较,。
A.65,15,37B.68,30,37C.65,15,30D.65,15,30,379.对长度为10的表作选择(简单选择)排序,共需比较____次关键字。
A.45B.90C.55D.11010.对n个元素的表作快速排序,在最坏情况下,算法的时间复杂度为____。
A.O(log2 n)B.O(nlog2 n)C.O(n2)D.O(2n )共5 页第1页11.对长度为10的表作2_路归并排序,共需移动____次(个)记录。
数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题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. 数组答案:D2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序答案:C3. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。
A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法不包括以下哪种?A. 链地址法B. 线性探测法C. 二分查找法D. 再散列法答案:C5. 在图的遍历算法中,广度优先搜索(BFS)使用的辅助数据结构是()。
A. 栈B. 队列C. 堆D. 链表答案:B6. 下列关于堆的描述中,错误的是()。
A. 堆是一种特殊的完全二叉树B. 堆中的每个节点的值都大于其子节点的值C. 堆可以用于实现优先队列D. 堆的插入操作的时间复杂度为O(log n)答案:B7. 在一个长度为n的数组中,使用二分查找算法查找一个元素的最坏情况下的时间复杂度是()。
A. O(1)B. O(n)C. O(n^2)D. O(log n)答案:D8. 以下哪个数据结构不是线性结构?A. 链表B. 栈C. 队列D. 二叉树答案:D9. 以下哪个算法是动态查找表?A. 直接索引B. 顺序查找C. 二分查找D. 哈希表答案:D10. 在图的表示方法中,邻接矩阵表示法的缺点是()。
A. 占用空间大B. 占用空间小C. 插入和删除操作复杂D. 遍历操作复杂答案:A二、填空题(每题2分,共20分)1. 在一个长度为n的数组中,使用顺序查找算法查找一个元素的时间复杂度为________。
答案:O(n)2. 一个具有n个节点的完全二叉树的高度为________。
答案:log2(n) + 1(向上取整)3. 一个长度为n的链表,删除一个节点的时间复杂度为________。
答案:O(1)4. 在图的表示方法中,邻接表表示法的缺点是________。
数据结构与算法试卷及答案8

广州大学学年第学期考试卷课程数据结构与算法考试形式(闭卷,考试)信息学院系专业级班学号:姓名:一、填空题:(每格2分,共20分)1.以{5,6,8,10,15}作为叶子结点的权值所构造的哈夫曼树的带权路径长度是。
2.判断一个无向图是一棵树的条件是。
3.设n0为哈夫曼树的叶子结点数目,则该哈夫曼树共有个结点。
4.一个无序序列可以通过构造一棵树而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。
5.如果结点A有 3个兄弟,而且B是A的双亲,则B的度是。
6.设有向图有n个顶点和e条边,进行拓扑排序时,总的时间复杂度为7.在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的恰当位置,该排序方法叫。
8.用一维数组存放的一棵完全二叉树;ABCDEFGHIJKL。
后序遍历该二叉树的访问结点序列是。
9.设散列函数H(k)=K mod 7,散列表的地址空间为0—6,则关键字为32的元素在哈希表中的下标为。
10.一棵非空二叉树的先序序列和后序序列正好相反,则树的形状是。
二、单项选择题(每题1分,共10分)1.()设一个栈的输入序列是1,2,3,4,5 则下列序列中,是栈的合法输出序列的是:A. 5 1 2 3 4B. 4 5 1 3 2C. 4 3 1 2 5D. 3 2 1 5 42.()在图采用邻接表存储时,求最小生成树的prim 算法的时间复杂度为A. O(n)B. O(n+e)C. O(n2)D. O(n3)3.()下列排序算法中,哪种算法不能保证每趟排序至少能将一个元素放到其最终的位置上?A.快速排序B. shell排序C. 堆排序D. 冒泡排序4.()一棵非空的二叉排序树在先序线索化后,其中值为空的链域的个数是:A.不确定B. 0C. 1D. 25()对于线性表最常用的操作是查找指定序号的元素和在末尾插入元素,则选择哪种最节省时间?A.顺序表 B. 单链表C带头接点的双循环链表D带尾接点的单循环链表6()求解最短路径的Floyd算发的时间复杂度为:A.O(n) B. O(n+c) C. O(n2) D. O(n3)7()数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算发中哪种算法的两趟排序后的结果?A.选择排序 B 冒泡排序 C 插入排序 D 堆排序8()下列序列中,哪个是堆?A.(100,80,55,60,50,40,58,35,20)B.(100,80,55,60,50,40,35,58,20)C.(100,80,55,58,50,40,60,35,20)D.(100,70,55,60,50,40,58,35,20)9()一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:A.不确定 B 0 C 1 D 210()算术表达式A+B*(C+D/E)转为后缀表达式后为:A:AB+CDE/*B:ABCDE/+*+C:ABCDE/*++D:ABCDE*/++三、判断题(在括号内填上“√”或“╳”,每题1分,共10分,做错不倒扣)1.()线性表的特点是每个元素都有一个前驱和一个后继。
2022年广州大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年广州大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将线性表的数据元素进行扩充,允许带结构的线性表是()。
A.串B.树C.广义表D.栈2、无向图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)},对该图进行深度优先遍历,得到的顶点序列正确的是()。
A.a,b,e,c,d,fB.a,c,f,e,b,dC.a,e,b,c,f, dD.a,e,d,f,c,b3、连续存储设计时,存储单元的地址()。
A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续4、用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()。
A.仅修改队头指针B.仅修改队尾指针C.队头、队尾指针都可能要修改D.队头、队尾指针都要修改5、已知串S='aaab',其next数组值为()。
A.0123B.1123C.1231D.12116、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。
下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。
Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ7、下列选项中,不能构成折半查找中关键字比较序列的是()。
A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508、有n(n>0)个分支结点的满二叉树的深度是()。
A.n2-1B.log2(n+1)+1C.log2(n+1)D.log2(n-l)9、一个具有1025个结点的二叉树的高h为()。
A.11B.10C.11至1025之间D.10至1024之间10、若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构试卷(一)一、单选题(每题 2 分,共 20 分)1. 栈和队列的共同特点是 ( )。
A. 只允许在端点处插入和删除元素B. 都是先进后出C. 都是先进先出D. 没有共同点2. 用链接方式存储的队列,在进行插入运算时 ( ).4. 设有一个二维数组 A[m][n] ,假设 A[0][0] 存放位置在 644(10),A[2][2] 存放位置在 676(10),每个元素占一个空间, 问A[3][3](10) 存放在什么位置?脚注 (10)表示用 10 进制表示。
7. 若有 18个元素的有序表存放在一维数组 A[19] 中,第一个元素 放A[1] 中,现进行二分查找,则查找 A [ 3]的比较序列的下 标依次为 ( )B. 9,5,2,3C. 9,5,3D. 9,4,2,38. 对 n 个记录的文件进行快速排序,所需要的辅助存储空间大致 为A. O (1)B. O (n )C. O (1og 2n )D.O (n2)9. 对于线性表( 7,34,55,25,64,46,20,10)进行 散列存储时,若选用 H ( K ) =K %9作为散列函数,则散列地址为 1 的元素有( )个,A .1B .2C .3D .410. 设有6个结点的无向图,该图至少应有 A. 仅修改头指针 B.C. 仅修改尾指针D.改3. 以下数据结构中哪一个是非线性结构? A. 队列 B. 栈 叉树头、尾指针都要修改 头、尾指针可能都要修 ( ) C. 线性表D. A .688 B .678 C .692 D .6965. 树最适合用来表示 ( )。
A .有序数据元素C .元素之间具有分支层次关系的数据系的数据6. 二叉树的第 k 层的结点数最多为 ( ). kA .2k -1 B.2K+1 C.2K-1B.无序数据元素 D.元素之间无联 D. 2 k-1 A. 1, 2,3( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共26分)1. 通常从四个方面评价算法的质量:_________ 、__________ 、________ 和________ 。
2. 一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为3. 假定一棵树的广义表表示为A(C,D (E, F, G),H( I,J)),则树中所含的结点数为____________ ,树的深度为____________ ,树的度为 _________ 。
4. 后缀算式9 2 3 +- 10 2 / -的值为____________ 。
中缀算式(3+4X)-2Y/3对应的后缀算式为 _________________________________ 。
5. 若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。
在这种存储结构中,n个结点的二叉树共有 ________ 指针域,其中有_________ 指针域是存放了地址,有 ________________ 指针是空指针。
6. 对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有________ 和__________ 。
7. AOV网是一种_____________________ ■勺图。
8. 在一个具有n个顶点的无向完全图中,包含有__________ 边,在一个具有n个顶点的有向完全图中,包含有__________ 边。
9. 假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为 ______________________________ 、 ____________________ 、 ________________________和____________________________ 。
10. 向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,贝S新树比原树的高度 ___________ 。
11. 在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________ ,整个堆排序过程的时间复杂度为 ________ 。
12. 在快速排序、堆排序、归并排序中,___________ 排序是稳定的。
三、计算题(每题6分,共24分)1. 在如下数组A 中链接存储了一个线性表,表头指针为 A [0].next, 试写出该线性表。
A 0 1 2 3 4 5 67n ex 35 7 2 0 4 1t已知一个图的顶点集V 和边集E分别为:V={1,2,3,4,5,6,7};E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次 得到的各条边。
4. 画出向小根堆中加入数据4, 2, 5, 8, 3时,每加入一个数据后堆的 变化。
四、阅读算法(每题7分,共14分)1. LinkList mynote(LinkList L){//L 是不带头结点的单链表的头指针if(L&&L-> next){ q=L ; L=L — >next ; p=L ;S1:while(p — >n ext) p=p — >n ext ; S2: p — >next=q ; q — >next 二NULL ;} return L ;}请回答下列问题:(1) 说明语句S1的功能;(2) 说明语句组S2的功能;(3) 设链表表示的线性表为(a 1,a 2,…,a n ),写出算法执行后 的返回值所表示的线性表。
2. void ABC(BTNode * BT){ if BT {ABC (BT->left);ABC (BT->right); cout<vBT->data<v'';2. 请画出下图的邻接矩阵和邻接表。
3.}}该算法的功能是:五、算法填空(共8分)二叉搜索树的查找一谗归算法:bool Fin d(BTreeNode* BST,ElemType & item){if (BST==NULL) return false; // 查找失败else {if (item==BST->data){item二BST->data;〃查找成功return ___________ ;}else if(item<BST->data)return Find( ______________ ,item);else return Find( ______________ ,item);}//if}六、编写算法(共8分)统计出单链表HL中结点的值等于给定值X的结点数。
int Cou ntX(LNode* HL,ElemType x)数据结构试卷(二)一、选择题(24分)1 .下面关于线性表的叙述错误的是( )。
(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2. 设哈夫曼树中的叶子结点总数为m若用二叉链表作为存储结构, 则该哈夫曼树中总共有()个空指针域。
(A) 2m-1 (B) 2m (C) 2m+1 (D) 4m3. 设顺序循环队列Q[0: M-1]的头指针和尾指针分别为F和R头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。
(A) R-F (B) F-R (C) (R-F+M) % M (D) (F-R+M) % M4 .设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD , 则后序遍历该二叉树得到序列为( )。
(A) BADC (B) BCDA (C) CDAB (D) CBDA5. 设某完全无向图中有n个顶点,则该完全无向图中有()条边。
(A) n(n-1)/2 (B) n(n-1) (C) n 2(D) n 2-16. 设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。
(A) 9 (B) 10 (C) 11 (D) 127. 设某有向图中有n个顶点,则该有向图对应的邻接表中有( )个表头结点。
(A) n-1 (B) n (C) n+1 (D) 2n-18. 设一组初始记录关键字序列(5 , 2, 6, 3, 8),以第一个记录关键字5为基准进行一趟快速排序的结果为( )。
(A) 2 , 3, 5, 8, 6 (B) 3 , 2, 5,8, 6(C) 3 , 2, 5, 6, 8 (D) 2 , 3, 6,5, 8二、填空题(24分)1. 为了能有效地应用HASH查找技术,必须解决的两个问题是____________________ 和___________________________ 。
2. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。
typedef struct {int s[100]; int top;} sqstack;void push(sqstack &stack,i nt x){if (stack.top==m-1) printf( “ overflow ” );else { ___________________ ; _________________ ;} }3. __________________________________________ 中序遍历二叉排序树所得到的序列是_______________________________ 列(填有序或无序)。
4•快速排序的最坏时间复杂度为______________ ,平均时间复杂度为5. 设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N,则该二叉树中度数为2的结点数为_________ ;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有 ________ 空指针域。
6. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,贝H e= ____ 。
7. 设一组初始记录关键字序列为(55 , 63, 44, 38, 75, 80, 31, 56),则利用筛选法建立的初始堆为____________________________ 。
8. 已知一有向图的邻接表存储结构如下:从顶点1出发,DFS遍历的输出序列是__________ , BFS遍历的输出序列是______________圉的邻撞轰存诸结构三、应用题(36分)1. 设一组初始记录关键字序列为(45 , 80, 48, 40, 22, 78),则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果。