版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第#页共7页20、存储在磁带上的顺序文件的查找只能用( )。B.二分查找D.树表查找1.A2.A3.6.B.二分查找D.树表查找1.A2.A3.6.A7.C8.11.A12.B13.16.C17.A18.A4.C5.BC9.D10.CC14.B15.CB19.C20.A二、填空题1、一个算法有五个特性: 、 、 、有零个或多个输入、有一个或多个输出。2、栈S在进行出栈操作时首先要判断3、在一棵二叉树中,度为零的结点的个数为n0,度为2的结点的个数为4,则有n0二——4、设front为队首指针,rear为队尾指针,则循环队列sq是空队列的条件是。5、同一数组中各元素的长度 。6、深度为k的二叉树共有2k-1个结点,该二叉树为二叉树。7、若图G中每条边都方向,则称G为无向图。8、二叉树的按层次遍历类似于图的 遍历。9、选择排序算法的效率为 。10、冒泡排序算法的效率为 答案:1、有穷性、确定性、可行性2、栈空否3、n2+14、sq->rear==sq->front5、相等6、满7、没有8、广度优先9、O(nlogn)三、判断题1、数组的缺点是插入、删除运算效率低。(d)2、链表的优点是插入、删除运算效率高。(d)3、对图进行深度优先遍历时,应借助于一个队列。(x)4、二叉树的深度优先遍历与先序序列一致。(d)5、归并排序算法是原地算法。(x)6、堆数据结构可以看作是一个非完全二叉树。(x)7、对图进行广度优先遍历时,应借助于一个队列。(d)8、二叉树的深度优先遍历与后序序列一致。(x)9、对图进行广度优先遍历时,应借助于一个栈。(x)10、冒泡排序算法是原地算法。(d)四、简答题1、初始为空的队列中,元素f,e,d,c,b,a依次进队以后,连续进行了三次出队操作,此时的队首元素是什么?队尾元素是什么?队列操作应遵循的原则是什么?答:队首元素是c队尾元素是a队列操作应遵循的原则是先进先出2、当为解决某一问题而选择数据结构时,应从哪些方法考虑?答:通常从两方法考虑;第一是算法所需的存储空间量,第二是算法所需的时间。对算法所需的时又涉及以下几点:1)程序运行时所需输入的数据总量2)计算机执行每条指令所需的时间3)程序中指令重复执行的次数3、写出用直接插入法排序将数值序列{33,23,8,41,68,64,50}排序过程的每一趟结果。答:(1)2333841686450(2)8233341686450(3)8233341686450(4)8233341686450(5)8233341646850(6)82333415064684、简述顺序表特点。答:优点:可随机存取表中任意数据元素,算法简单,空间利用率高;直接可获取线性表的长度。缺点:1)需要预先确定数据元素的最大个数;2)数据元素的插入、删除相对麻烦,插入和删除时需要移动较多的数据元素。5、简述逻辑结构和存储结构的关系。答:在数据结构中,逻辑结构与计算机无关,存储结构是数据元素之间的逻辑关系在计算机中的表示。存储结构不仅将逻辑结构中所有数据元素存储到计算机内存中,而且还要在内存中存储各种数据元素间的逻辑关系。通常情况下,一种逻辑结构可以有多种存储结构,例如,线性结构可以采用顺序存储或链式存储结构表示。6、简述线性表、栈和队列的异同。答:线性表、栈和队列中元素这之间的逻辑关系都是线性关系。栈和队列是操作位置受限的线性表,即对播入和删除操作的位置加以限制,都只能在端点进行。栈是仅允许在表的一端进行插入和删除操作的线性表,因而是后进先出表。队列是只允许在表的一端进行插入,另一端进行删除操作的线性表,因而是先进先出表。7、堆排序是否是一种稳定的排序方法?为什么?答:堆排序是不种不稳定的排序方法。因为在堆的调整过程中,关键字进行比较和交换所走的是该节点到叶子节点的一条路径,因此对相同的关键字而言,就可能出现排在后面的关键字补交换到前面来的情况。8、若频繁地对一个线性表进行插入和删除操作,该线性表宜采用何种存储结构,为什么?答:宜采用链式存储结构。因为采用链式结构存储线性表,在插入和删除操作时只修改相关节点的指针域,不需要移动节点;而采用顺序结构存储线性表,插入和删除操作需要平均移动表中的一半元素。修改指针域操作比移动元素操作花费的时间少得多。9、对单链表设置头节点的作用是什么?答:对于带头节点的单链表,在单链表的任何节点之前插入节点或删除节点,所要做的都是修改前一个节点的指针域,因为任何节点都有前驱节点(若单链表没有头节点,则首节点没有前驱节点,在其前插入节点和删除节点时操作复杂些)。对于带头节点的链表,在表空时也存在一个头节点,因此空表与非空表的处理是一样的。五、算法题1、简述冒泡排序算法的思想,并通过类C语言给出代码实现。算法思想1)不停地比较相邻的记录,如果不满足排序要求,就交换相邻记录,直到所有的记录都已经排好序。2)检查每次冒泡过程中是否发生过交换,如果没有,则表明整个数组已经排好序了,排序结束。voidBubbleSort(RecordArray[],intn){boolNoSwap; //是否发生了交换的标志inti,j;for(i=0;i<n-1;i++){NoSwap=true;//标志初始为真for(j=n-1;j>i;j--)if(Array[j]<Array[j-1]){//判断是否逆置swap(Array,j,j-1); //交换逆置对NoSwap=false;//发生了交换,标志变为假}if(NoSwap)//没发生交换,则排好序return;}}2、简述直接选择排序算法的思想,并用类C语言给出算法实现。算法思想:选出未排序记录中的最小记录,然后直接与未排序序列中第1个记录交换。voidSelectSort(RecordArray[],intn){//依次选出第i小的记录,即剩余记录中最小的那个for(inti=0;i<n-1;i++){//首先假设记录i就是最小的intSmallest=i;//开始向后扫描所有剩余记录for(intj=i+1;j<n;j++)//如果发现更小的记录,记录它的位置if(Array[j]<Array[Smallest])Smallest=j;//将第i小的记录放在数组中第i个位置Recordtemp=Array[Smallest];Array[Smallest]=Array[i];Array[i]=temp;}}3、简述直接插入排序算法的思想,并通过类C语言给出代码实现。算法思想:利用有序表的插入操作进行排序voidInsertSort(RecordArray[],intn){//Array口为待排序数组,n为数组长度RecordTempRecord;//临时变量for(inti=1;i<n;i++){//依次插入第i个记录TempRecord=Array[i];〃从i开始往前寻找记录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年交通b证理论考试试题及答案
- 职业卫生管理制度和操作规程(标准)
- 新能源汽车产业政策解读真题
- 2025 八年级道德与法治下册法治与网络谣言治理案例课件
- 2026年信阳涉外职业技术学院单招职业技能考试题库及答案详解参考
- 2026年南充职业技术学院单招职业倾向性考试题库带答案详解(完整版)
- 2026年厦门兴才职业技术学院单招综合素质考试题库带答案详解(黄金题型)
- 2026年包头铁道职业技术学院单招职业倾向性测试题库及参考答案详解一套
- 2026年南通师范高等专科学校单招职业适应性考试题库附答案详解(模拟题)
- 2026年南京机电职业技术学院单招职业技能测试题库附答案详解(培优)
- 2026年安全生产开工第一课筑牢复工复产安全防线
- 2026年标准版离婚协议书(无财产)
- 山西大学附属中学2025-2026学年高三1月月考生物(含答案)
- 2024年货车驾驶员管理制度
- T/GIEHA 035-2022医院室内空气质量要求
- 2025年上海市长宁区初三二模语文试卷(含答案)
- 五年级上册数学计算题每日一练(共20天带答案)
- CQI-23Molding Process Assessment 模塑系统评估审核表-中英文(空)
- 新生儿消化不良的健康宣教护理课件
- 2025年事业单位考试(自然科学专技类C类)综合应用能力试卷与参考答案
- 2024年北京版小学英语必背单词表
评论
0/150
提交评论