数据结构导论年月试题
高等教育自学考试全国统一命题考试数据结构导论试卷及参考答案

20XX年(下)高等教育自学考试全国统一命题考试数据结构导论试卷及参考答案第一部分选择题一、单项选择题(本大题共l5小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的。
请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.数据的基本单位是 ( )A.数据项 B.数据类型C.数据元素 D.数据变量2.下列程序的时间复杂度为 ( )3.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则最节省运算时间的存储方式是 ( )A.单链表 B.仅有头指针的单循环链表C.双链表 D.仅有尾指针的单循环链表4.从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动的元素的个数是( )A.n—i B.n—i+1C.n—i一1 D.i5.顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为 ( )6.循环队列sq中,用数组elem[0··25]存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,设当前sq.front为20,sq.rear为12,则当前队列中的元素个数为 ( )A.8 B.16C.17 D.18A.13 B.35C.17 D.368.含有10个结点的二叉树中,度为0的结点数为4,则度为2的结点数为 ( ) A.3 B.4C.5 D.69.对一棵有100个结点的完全二叉树按层编号,则编号为49的结点,它的父结点的编号为( )A.24 B.25C.98 D.9910.可以惟一地转化成一棵一般树的二叉树的特点是 ( )A.根结点无左孩子 B.根结点无右孩子C.根结点有两个孩子 D.根结点没有孩子11.有n个结点的有向完全图的弧数是( )12.设图的邻接链表如题l2图所示,则该图的边的数目是 ( )A.4 B.5C.10 D.201 3.已知一个有序表为(13,18,24,35,47,50,62,83,90,115,134),当二分检索值为90的元素时,检索成功需比较的次数是 ( )A.1 B.2C.3 D.414.排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是 ( ) A.选择排序 B.快速排序C.冒泡排序 D.插入排序15.排序算法中,不稳定的排序是 ( )A.直接插入排序 B.冒泡排序C.堆排序 D.归并排序第二部分非选择题二、填空题(本大题共l3小题,每小题2分,共26分)请在每小题的空格中填上正确答案。
全国自学考试数据结构导论试题与答案解析[4套]
![全国自学考试数据结构导论试题与答案解析[4套]](https://img.taocdn.com/s3/m/f1daa8dd680203d8ce2f2494.png)
全国2011年1月自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在顺序表中查找第i个元素,时间效率最高的算法的时间复杂度为( )A.O(1)B.O(n)C.O(log2n)D.O(n)2.树形结构中,度为0的结点称为( )A.树根B.叶子C.路径D.二叉树3.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,,<V6,V7>},则图G的拓扑序列是( ) A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V4,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V74.有关图中路径的定义,表述正确的是( )A.路径是顶点和相邻顶点偶对构成的边所形成的序列B.路径是不同顶点所形成的序列C.路径是不同边所形成的序列D.路径是不同顶点和不同边所形成的集合5.串的长度是指( )A.串中所含不同字母的个数B.串中所含字符的个数C.串中所含不同字符的个数D.串中所含非空格字符的个数6.组成数据的基本单位是( )A.数据项B.数据类型C.数据元素D.数据变量7.程序段i=n;x=0;do{x=x+5*i;i--;}while (i>0);的时间复杂度为( )A.O(1)B.O(n)C.O(n2)D.O(n3)8.与串的逻辑结构不同的...数据结构是( )A.线性表B.栈C.队列D.树9.二叉树的第i(i≥1)层上所拥有的结点个数最多为( )A.2iB.2iC.2i-1D.2i-110.设单链表中指针p指向结点A,若要删除A的直接后继,则所需修改指针的操作为( ) A.p->next=p->next->next B.p=p->nextC.p=p->next->nextD.p->next=p11.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是( )A.堆排序B.冒泡排序C.直接插入排序D.快速排序12.设字符串S1=″ABCDEFG″,S2=″PQRST″,则运算S=CONCAT(SUBSTR(S1,2,LENGTH(S2)),SUBSTR(S1,LENGTH(S2),2))后S的结果为( )A.″BCQR″B.″BCDEF″C.″BCDEFG″D.″BCDEFEF″13.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并且A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则使其平衡的调整方法为( )A.LL型B.LR型C.RL型D.RR型14.如果结点A有3个兄弟结点,而且B为A的双亲,则B的度为( )A.1B.3C.4D.515.数据表A中每个元素距其最终位置较近,则最省时间的排序算法是( )A.堆排序B.插入排序C.直接选择排序D.快速排序二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。
02142数据结构导论份真题及答案.doc

2012年10月高等教育自学考试全国统一命题考试数据结构导论试题课程代码:02142请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的。
错选、多选或未选均无分。
1.下面几种算法时间复杂度阶数中,值最大的是A.O(nlog2n)B.O(n2)C.O(n)D.O(2n)2.即使输入非法数据,算法也能适当地做出反应或进行处理,不会产生预料不到的运行结果,这种算法好坏的评价因素称为A.正确性B.易读性C.健壮性D.时空性3.设顺序表的长度为100,则在第40个元素之后插入一个元素所需移动元素的个数为A.40B.60C.61D.1004.设带头结点的单循环链表的头指针为head,则判断该链表是否为空的条件是A. head->next==headB. head->next==NULLC. head!=NULLD. head==NULL5.在链栈的运算中,不需要...判断栈是否为空的是A.出栈B.进栈C.取栈顶元素D.求链栈的元素个数6.一个队列的输入序列是A,B,C,D,则该队列的输出序列是A.A,B,C,DB.B,C,D,AC.D,C,B,AD.C,D,B,A7.以行序为主序的二维数组a[3][5]中,第一个元素a[0][0]的存储地址是100,每个元素占2个存储单元,则a[1][2]的存储地址是A.100B.108C.114D.1168.对任何一棵二叉树T,若叶结点数为5个,则度为2的结点个数为A.4B.5C.6D.无法确定9.m个叶结点的哈夫曼树中,其结点总数为A.mB.2m+1C.2mD.2m-110.二叉树的中序遍历序列中,结点P排在结点Q之前的条件是A.在二叉树中P在Q的左边B.在二叉树中P在Q的右边C.在二叉树中P是Q的祖先D.在二叉树中P是Q的子孙11.有10个顶点的无向完全图的边数是A.11B.45C.55D.9012.在带权有向图中求两个结点之间的最短路径可以采用的算法是A.迪杰斯特拉(Dijkstra)算法B.克鲁斯卡尔(Kruskal)算法C.普里姆(Prim)算法D.深度优先搜索(DFS)算法13.二分查找(Binary Search)算法的时间复杂度是A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)14.在一棵初始时为空的二叉树中,依次插入键值序列50,72,43,85,75,20,38,45,65,60,构造对应的二叉排序树以后,查找元素60要进行的比较次数是A.2B.3C.4D.515.快速排序属于A.插入排序B.交换排序C.选择排序D.归并排序非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
数据结构导论复习卷-数据结构导论试题

数据结构导论复习卷-数据结构导论试题数据结构导论复习卷一、选择题1. 数据结构导论是一门研究什么的学科?a) 计算机程序b) 数据储存和处理的原则c) 程序设计语言d) 硬件设计2. 数据结构中,什么是栈?a) 先进先出的数据结构b) 后进先出的数据结构c) 随机访问的数据结构d) 无序排列的数据结构3. 数据结构中,什么是队列?a) 先进先出的数据结构b) 后进先出的数据结构c) 随机访问的数据结构4. 在数据结构中,什么是链表?a) 数据元素按一定顺序排列的线性结构b) 具有相同类型的数据元素集合c) 一个数据元素和指向下一个数据元素的引用d) 具有先进先出的特性5. 数据结构中,什么是树?a) 一个数据元素和指向下一个数据元素的引用b) 具有相同类型的数据元素集合c) 数据元素按一定顺序排列的线性结构d) 非线性的数据结构,由节点和边组成6. 在数据结构中,什么是图?a) 非线性的数据结构,由节点和边组成b) 具有相同类型的数据元素集合c) 数据元素按一定顺序排列的线性结构d) 一个数据元素和指向下一个数据元素的引用7. 在数据结构中,什么是哈希表?b) 一个数据元素和指向下一个数据元素的引用c) 一种将关键字映射到哈希表中位置的数据结构d) 数据元素按一定顺序排列的线性结构8. 在数据结构中,什么是堆?a) 一种无序的数据结构b) 一个数据元素和指向下一个数据元素的引用c) 具有相同类型的数据元素集合d) 一种被完全二叉树组织且满足堆性质的数据结构二、填空题1. 在数据结构中,栈的插入操作叫作________,删除操作叫作________。
2. 数据结构中,队列的插入操作叫作________,删除操作叫作________。
3. ________树是每个节点最多有两个子节点的树。
4. 在二叉查找树中,对于任意节点N,其左子树中的每个元素都大于________,其右子树中的每个元素都小于________。
02142《数据结构导论》复习题.

数据结构导论模拟试题一、考试题型及分值分布:1、单项选择题(本大题共15小题,每小题2分,共30分)2、填空题(本大题共13小题,每小题2分,共26分)3、应用题(本大题共5小题,每小题6分,共30分)4、算法设计题(本大题共2小题,每小题7分,共14分)二、单项选择题和填空题样题参考(一)单项选择题1. 在二维数组中,每个数组元素同时处于()个向量中。
A. 0B. 1C. 2D. n2. 已知单链表A长度为m,单链表B长度为n,它们分别由表头指针所指向,若将B 整体连接到A的末尾,其时间复杂度应为()。
A. O(1)B. O(m)C. O(n)D. O(m+n)3. 假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。
A. front == rearB. front != NULLC. rear != NULLD. front == NULL4. 若让元素1,2,3依次进栈,则出栈次序不可能出现( )种情况。
A. 3,2,1B. 2,1,3C. 3,1,2D. 1,3,25. 图的广度优先搜索类似于树的()遍历。
A. 先根B. 中根C. 后根D. 层次6. 下面程序段的时间复杂度为( )。
for(int i=0; i<m; i++)for(int j=0; j<n; j++) a[i][j] = i*j;A. O(m2)B. O(n2)C. O(m*n)D. O(m+n)7. 设有两个串t和p,求p在t中首次出现的位置的运算叫做()。
A. 求子串B. 模式匹配C. 串替换D. 串连接8 利用双向链表作线性表的存储结构的优点是()。
A. 便于单向进行插入和删除的操作B. 便于双向进行插入和删除的操作C. 节省空间D. 便于销毁结构释放空间9. 设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。
若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行( )操作。
0214年自考专业(计算机信息管理)数据结构导论考试真题及答案

0214年自考专业(计算机信息管理)数据结构导论考试真题及答案一、单项选择题每题的四个选项中只有一个答案是正确的,请将正确的选项选择出来。
1、设有一个10阶的下三角矩阵A (包括对角线),根据从上到下,从左到右的挨次存储到连续的55个存储单元中,每个数组元素占1 个字节的存储空间,那么a[5][4]地址与a[0][0]的地址之差为()。
A.10B.19C.28D.552、设某棵二叉树中只有度数为0和度数为2的结点且度数为0的结点数为n,那么这棵二叉树中共有结点个数是()。
A.2nB.n+1C.2n-lD.2n+l3、设根据从上到下、从左到右的挨次从1开头对完全二叉树进行挨次编号,假设结点i有左孩子,那么编号为i结点的左孩子结点的编号为()。
A.2i+lB.2iC.i/2D.2i-l4、一棵二叉树的先序遍历结果为ABCDEF,中序遍历结果为CBAEDF,那么后序遍历的结果为()。
A.CBEFDAB.FEDCBAC.CBEDFAD.CEFBDA5、A.n-lB.n2C.n (n+1) /2D.n (n-1) /26、设某有向图中有n个顶点,那么该有向图对应的邻接表中表头结点个数为()。
A.n-1B.nC.n+1D.2n-l27、假设查找每个记录的概率均等,那么在具有n个记录的连续挨次文件中采纳挨次查找算法查找一个记录,其平均查找长度ASL为()。
A.(n-1) /2B.n/2C.(n+1) /2D.n8、设散列表中有n个存储单元,散列函数H(key)二key%p,那么p 最好选择小于散列表长度n的()。
A.奇数B.素数C.偶数D.合数9、以下排序算法中,稳定的排序算法是A.堆排序B.快速排序C.直接选择排序D.冒泡排序10、以下四个序列中,是堆的序列为A.75,45, 65, 30, 15,25, 20, 10B.75, 65,45, 10, 30, 25, 20, 15C.75, 65, 30, 15, 25,45, 20, 10D.75, 45, 65, 10, 25, 30, 20, 1511、数据的最小标识单位是A.数据项B.数据类型C.数据元素D.数据变量12、下面程序段的时间简单度为()。
全国自学考试数据结构导论试题及答案4套

全国自学考试数据结构导论试题及答案4套第一套试题一、选择题(每题4分,共40分)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. 希尔排序二、填空题(每题4分,共40分)1. 在二叉树中,每个节点最多有____个子节点。
2. 图的两个顶点之间的路径长度是指连接这两个顶点所需的____数。
3. 链表是一种____结构。
4. 快速排序算法的核心思想是____。
5. 栈和队列都属于线性结构,其主要区别在于____操作的限制。
三、简答题(每题10分,共30分)1. 请简要描述栈的特点以及栈的应用场景。
2. 请简要介绍图的基本概念,并说明图的应用领域。
3. 请解释递归算法的原理,并给出一个使用递归算法解决问题的例子。
四、编程题(共30分)请使用任意编程语言实现一个简单的栈数据结构,并编写测试代码进行验证。
第二套试题一、选择题(每题4分,共40分)1. 在二叉搜索树中,中序遍历的结果是____。
A. 升序排列B. 降序排列C. 随机排序D. 不确定的排序2. 在哈希表结构中,解决冲突问题的常用方法是____。
A. 线性探测B. 链地址法C. 开放地址法D. 扩容法3. AVL树是一种____。
A. 二叉搜索树B. 哈希表C. B树D. 红黑树4. 以下哪个算法不是用于解决查找问题?A. 二分查找B. 深度优先搜索C. 广度优先搜索D. 哈希查找5. 以下哪个数据结构不支持随机访问元素?A. 数组B. 栈C. 链表D. 哈希表二、填空题(每题4分,共40分)1. 在二叉树中,每个节点最多有____个子节点。
数据结构考试试题及答案

数据结构考试试题及答案一、选择题(每题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. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二00一年下半年全国高等教育自学考试
数据结构导论试卷
一、单项选择题
1.若给定有n个元素的向量,则建立一个有序单向链表的时间复杂性的量级是( )
A.O(1)
B.O(n)
C.O(n2)
D.O(nlog2n)
2.在一个具有n个结点的单链表达中查找值为m的某结点,若查找成功,则平均比较()
A.n B.n/2 C.(n-1)/2 D.(n+1)/2
3.研究数据结构就是研究()
A.数据的逻辑结构
B.数据的存储结构
C.数据的逻辑结构和存储结构
D.数据的逻辑结构,存储结构及其数据在运算上的实现
4.为了方便地对图状结构的数据进行存取操作,则其数据存储结构宜采用()方式。
A、顺序存储
B、链式存储
C、索引存储
D、散列存储
5.二维数组A[10……20,5……10]采用行序为主序方式存储,每个数据元素占4个存储单元,且A[10,5]的存储地址是1000,则A[18,9]的地址是()
A、1208
B、1212
C、1368
D、1364
6.设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树中共有()个结点。
A、13
B、12
C、26
D、25
7.下列几种结构中属于树型结构的是()
8.设无向图G=(V、E)和G’=(V’,E’),如G’为G的生成树,则下面不正确的说法是()
A、G’为G的连通分量
B、G’为G的无环子图
C、G’为G的子图
D、G’为G的极小连通子图且V’=V
9.下列说法中不正确的是()
A、无向图的极大连通子图称为连通分量
B、连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点
C、图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点
D、有向图的遍历不可采用广度优先搜索方法
10.对有序表(18,20,25,34,48,62,74,85)用二分查找法查找85,所需的比较次数为()
A、1次
B、2次
C、3次
D、4次
11.散列表的平均查找长度()
A、与处理冲突方法有关而与表的长度无关
B、与处理冲突方法无关而与表的长度有关
C、与处理冲突方法有关且与表的长度有关
D、与处理冲突方法无关且与表的长度无关
12.对ISAM文件的删除记录时,一般()
A、只需做删除标志
B、需移动记录
C、需改变指针
D、一旦删除就需做整理
13.顺序文件适宜于()
A、直接存取
B、成批处理
C、按关键字存取
D、随机存取
14.一个序列中有10000个元素,若只想得到其中前10个最小元素,最好采用()方法。
A、快速排序
B、堆排序
C、插入排序
D、二路归并排序
15.对下列四个序列用快速排序方法进行排序,以序列的第一个元素为基准进行划分。
在第1趟划分过程中,元素移动次数最多的是序列( ) A 、70,75,82,90,23,16,10,68 B 、70,75,68,23,10,16,90,82 C 、82,75,70,16,10,90,68,23 D 、23,10,16,70,82,75,68,90二、填空题
1.下列程序段的时间复杂性的量级为 0(m*n )
for (i=0; i<m; i++)
for (j=0; j<n; j++)
t=t+1;
2.索引文件由 索引表 和主文件两部分组成。
3.在一个不带有头结点的非空单链表中,其结点形式为data | next ,若要在指针q 所指结点之后插入一个结点,则需执行下列语句序列: p=malloc(size); p->data=x; p->next=q->next ; q->next=p;4.设链栈的栈顶指针为Is ,栈不空的条件为 Is !=NULL 或等价叙述
5.遍历图的基本方法有深度优先搜索和广度优先搜索。
其中,深度优先搜索是一个递归过程。
6.如图所示,设输入元素的顺序为1,2,3,4,5,要在栈S 的输出端得到序列43521,则应进行的操作用栈的基本运算表示应为push (S,1),push (S,2),push (S,3),push (S,4),pop(S), pop(S),push(S,5), pop(S),pop(S),pop(S)。
7.下图为某树的静态双亲链表表示:
则结点D 、E 的双亲结点分别为 B 、C
8.在下列树中,结点H 的祖先为 A 、D 、G
9.静态查找表的顺序查找算法中,通常采用设置岗哨的方式以确保查找不成功时循环也能终止执行,若给定值为K ,表的长度为n ,查找表的数据单元用R.item 表示,键值用key 表示,则在表尾设置岗哨的相应方法描述为 R.item[n+1].key=K 0 1 2 3 4
10.对于二叉树的查找,若根结点元素的键值大于被查找元素的键值,则应该在该二叉树的 左子树 上继续查找。
11.采用二次探测法解决冲突问题,对于键值为K ,容量为m 的闭散列表,若散列地址为d 0,则发生冲突后,其第三个后继散列地址d 3为 (d 0+22) mod m 12.对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到已排序的有序表时,为寻找其插入位置需比较 3 次。
13.对n 个元素进行冒泡排序时,最少的比较次数是 n-1
三.应用题
1.已知序列(17,18,60,40,7,32,73,65,85),请给出采用冒泡排序法对该序列作升序排序时每一趟的过程。
解:依题意:
初始(17,18,60,40,7,32,73,65,85)
1趟(17,18,40,7,32,60,65,73,85)
2趟(17,18,7,32,40,60,65,73,85)
3趟(17,7,18,32,40,60,65,73,85)
4趟(7,17,18,32,40,60,65,73,85)
5趟(7,17,18,32,40,60,65,73,85)
第5趟元素未交换,则排序结束。
2.如图所示,在栈的输入端有6个元素,顺序为A 、B 、C 、D 、E 、F 。
能否在栈的输出端得到序列DCFEBA 及EDBFCA ?若能,给出栈操作的过程,若不能,简述其理由。
解:(1)能得到序列DCFEBA
操作过程如下:
push, push, push, push, pop, pop, push, push, pop, pop, pop, pop (2)不能得到EDBFCA
因为要得到E 需将A ,B ,C ,D 顺序入栈,根据LIFO 原则,不可能B 在C 之前出栈。
3解:先根遍历序列:ABCDFGHE
中根遍历序列:BADGFHCE 后根遍历序列:BGHFDECA
4.已知无向图G 的邻接表如下,请写出其从顶点V2开始的深度优先搜索序列。
解:V 2V 4V 0V 1V 3
r->lchild=x;
}
2.已知奇偶转换排序如下所述:第一趟对所有奇数i,将a[i]和a[i+1]进行比较,第二趟对所有偶数i,将a[i]和a[i+1]进行比较,每次比较时若a[i]>a[i+1],则将两者交换,以后重复上述二趟过程交替进行,直至整个数组有序。
(1)试问:排序结束的条件是什么?
(2)编写一个实现上述排序过程的算法:void oesort (int a[ ], int n)。
解:(1)在一趟奇排序和一趟偶排序时均不发生数据交换。
(2)void oesort(int a[ ], int n)
{int i, flag, t;
do{flag=0;
for (i=1; i<n; i++)
{if (a[i] > a[i+1])
{flag=1;
t= a[i+1]; a[i+1]= a[i]; a[i]=t;
}
i++;
}
}while (flag!=0);
}。