2024年10月自考02331数据结构押题及答案含解析汇总_第1页
2024年10月自考02331数据结构押题及答案含解析汇总_第2页
2024年10月自考02331数据结构押题及答案含解析汇总_第3页
2024年10月自考02331数据结构押题及答案含解析汇总_第4页
2024年10月自考02331数据结构押题及答案含解析汇总_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自考02331数据结构押题及答案含解析汇总第一章单选1.数据结构不包含的内容是()A.数据的元素来源B.数据的逻辑结构C.数据的存储结构D.对数据施加的操作答案:A解析:本题考查了数据结构的内容、作用和意义。数据结构包括逻辑结构和存储结构,并且也包含某些算法,如散列存储就需要利用某种特定的算法来实现,不过数据结构不包含元素来源。2.在数据结构中,它的基本单位是()A.数据B.数据项C.数据元素D.数据对象答案:C解析:本题考查了数据结构中数据的基本单位。数据结构的基本单位是数据元素。3.下列关于线性结构的说法中错误的是()A.结构中只含有一个开始结点B.结构中只含有一个终端结点C.结构中的结点之间存在一对一的对应关系D.结构中的所有结点都有一个直接前趋和直接后继答案:D解析:本题考查了数据结构中的线性结构。在线性结构中,开始结点只有直接后继,终端结点只有直接前趋,其他说法均正确。4.下列关于非线性结构的说法中正确的是()A.结构中只含有一个开始结点B.结构中只含有一个终端结点C.结构中的结点之间必定存在一对一的对应关系D.结构中的结点可能存在多对多的对应关系答案:D解析:本题考查了数据结构中的非线性结构。在非线性结构中的结点之间存在一对多或多对多的对应关系,所以可能有多个开始结点或终端结点。5.在存储结构的四种基本存储方法中,需要引用“指针”的是()A.顺序存储方法B.链接存储方法C.索引存储方法D.散列存储方法答案:B解析:本题考查了存储结构中的链接存储方法。在链接存储方法中,元素间的逻辑关系是由附加的指针域表示的,需要引用“指针”。6.下列不属于五个算法准则的是()A.输入B.有穷性C.随机性D.可行性答案:C解析:本题考查了算法的五个准则。算法的五个准则包括:输入、输出、有穷性、确定性和可行性。7.若要实现更快速地解决问题,就需要高效率的算法,我们把执行算法耗费的时间称为()A.时间复杂度B.空间复杂度C.可读性D.可操作性答案:A解析:本题考查了算法分析中的时间复杂性概念。时间复杂性,是指执行算法所耗费的时间。8.算法中有一指令“for(i=0;i<=9;i++)”,则该指令的执行次数和频度分别为()A.9,9B.9,10C.10,10D.10,11答案:D解析:本题考查了算法的频度和时间复杂度。在该指令中,i的值由0增至9,共循环执行10次,但由于指令自身的特点,i的最终值为10,共计算了11次,所以该指令的执行次数为10,自身执行次数(频度)为11。9.A.AB.BC.CD.D答案:A解析:本题考查了算法的时间复杂度。对于任何一个总执行次数为常数的算法,我们都表示成1,即。10.下列数据结构中,属于非线性结构的是()A.栈B.队列C.单链表D.二叉树答案:D解析:本题考查了非线性结构的概念。选项中只有二叉树是非线性结构,其余均为线性结构。11.下列关于算法的说法错误的是()A.每一步算法的含义要明确B.算法的执行次数是有限的C.算法只能解决数值计算问题D.同一种问题可以有多种解决算法答案:C解析:本题考查了算法的概念。通过设计不同的算法可以实现不同的功能,不仅仅局限于数值计算问题,其余说法均正确。12.“算法+数据结构=程序”中的数据结构指的是()A.逻辑结构和存储结构B.线性结构和非线性结构C.顺序存储和非线性结构D.线性结构和链式结构答案:A解析:本题考查了数据结构的内容。数据结构包含逻辑结构和存储结构。13.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为()A.顺序存储结构B.链式存储结构C.索引存储结构D.散列存储结构答案:D解析:本题考查了数据结构的存储结构中的散列存储方法。散列存储方法根据元素的关键字直接计算出该元素的存储地址。14.算法分析的两个主要方面是()A.正确性和简明性B.时间复杂性和空间复杂性C.可读性和可维护性D.数据复杂性和程序复杂性答案:B解析:本题考查了算法分析的两个主要概念。算法分析中要考虑时间复杂性和空间复杂性。15.算法指的是()A.计算机程序B.解决问题的计算方法C.解决问题的有限运算序列D.排序算法答案:C解析:本题考查了算法的描述。算法指的是解决问题的有限运算序列。第一章填空+简答1.数据结构中的数据项,是具有独立含义的________标识单位。答案:最小解析:本题考查了数据项的概念。数据项是具有独立含义的最小标识单位。2.在线性结构中,没有直接后继的是_______结点。答案:终端解析:本题考查了线性结构中的终端结点的概念。线性结构中的开始结点没有直接前趋,只有直接后继。终端结点有直接前趋,没有直接后继。3.算法五原则分别是输入、输出、_________、确定性和可行性。答案:有穷性解析:本题考查了算法的五个准则。算法五原则分别是输入、输出、有穷性、确定性和可行性。4.数据结构一般包括逻辑结构、存储结构和______三个方面的内容。答案:数据运算解析:本题考查了数据结构的内容。数据结构一般包括逻辑结构、存储结构和数据运算。5.数据的逻辑结构可分为非线性结构和_________两大类。答案:线性结构解析:本题考查了数据的逻辑结构的概念。逻辑结构可分为线性结构和非线性结构。6.数据的存储结构(物理结构)一般可以用_________、链接存储方法、索引存储方法和散列存储方法等四种存储方法表示。答案:顺序存储方法解析:本题考查了存储结构的四种基本的存储方法。包括顺序存储方法、链接存储方法、索引存储方法和散列存储方法。7.设有一批数据元素,为了方便地插入一个元素,宜用______结构存储。答案:链接解析:本题考查了存储结构中链接存储方法的概念。链接存储方法可以方便地插入一个元素。8.答案:9.答案:10.答案:11.答案:第二章单选11.A.AB.BC.CD.D答案:A解析:2.A.3B.5C.8D.10答案:D解析:3.已知某线性表中含有6个元素,现要在第2位和第3位元素之间插入一个新的元素,那么需要移动的元素总数为()A.2B.4C.6D.0答案:B解析:本题考查了线性表的插入运算。欲在第2位和第3位元素之间插入新元素,那么这个元素应插在第3位上,则从第3位开始,包括之后的所有元素都需向后移动一位,总数为:4.已知某线性表中含有6个元素,现要删除第3位元素,那么需要移动的元素总数为()A.0B.1C.2D.3答案:D解析:本题考查了线性表的删除运算。欲删除第3位元素,则该位置之后的所有元素都需向前移动一位,总数为:5.在线性表的单链表存储结构中,结点中data和next分别表示()A.存储的元素,直接前趋的地址B.存储的元素,直接后继的地址C.指针的数量,直接前趋的地址D.指针的数量,直接后继的地址答案:B解析:本题考查了链表中结点的存储结构。结点包含两个域,数据域(data)中存放的是存储的元素,指针域(next)中存放的是元素的直接后继的地址,利用指针指向该直接后继的结点,实现链式存储。6.在单链表中实现插入时,为使插入后的元素顺序与输入的元素顺序一致,可采用()A.头插法建表_________B.尾插法建表C.中间法建表_________D.指针法建表答案:B解析:本题考查了单链表中尾插法建表。利用头插法建表,每次都将新元素插在表头,最终的元素顺序将与输入的元素顺序相反;利用尾插法建表,每次都将新元素插在表尾,最终的元素顺序和输入的元素顺序相同。7.下列选项中,属于顺序存储结构优点的是()A.插入运算方便B.删除运算方便C.存储密度大D.方便存储各种逻辑结构答案:C解析:本题考查了顺序存储结构的特点。在顺序存储结构中,不方便做元素的插入和删除运算,因为每次都需要移动很多元素,并且只能存储线性结构的元素,不适于存储非线性结构的元素。8.在链式存储结构中,方便做元素的插入和删除运算,原因是()A.存储的元素数量很少B.可进行随机存取C.元素的存储地址都是连续的D.采用了“指针”表示法答案:D解析:本题考查了链式存储结构的特点。在链式存储结构中,利用“指针”指向下一个存储的结点,在进行元素的插入和删除时,只需改变指针的指向即可,不需要移动大量元素。9.下列关于线性表的说法正确的是()A.线性表可以含有无限个元素B.线性表中的元素只能是具体的数字C.线性表是一种线性结构D.长度为n的线性表最多可含有n-1个元素答案:C解析:本题考查了线性表的概念。长度为n的线性表可含有n个元素,存放元素数量有限,并且也可存放字符和图片等。10.若某线性表中第三个数据元素的存储地址为5,每个元素占3个存储单元,那么第10个元素的存储地址是()A.10B.20C.30D.26答案:D解析:第二章单选+填空+算法阅读+算法设计1.下列关于线性结构的说法错误的是()A.结构中只有一个开始结点B.结构中只有一个终端结点C.终端结点的直接后继指向开始结点D.结构中的数据元素呈线性关系答案:C解析:本题考查了线性表的逻辑特征。线性结构中,数据元素是一一对应的线性关系,结构中只含有一个开始结点和一个终端结点,并且开始结点无直接前趋,终端结点无直接后继。2.下列数据结构中,不属于线性结构的是()A.栈B.队列C.树D.单链表答案:C解析:本题考查了线性表的逻辑结构特征。除了树是非线性结构,其他均为线性结构。3.一个线性表含有10个数据元素,每个元素占2个存储单元,若第一个元素的存储地址为100,则第10个数据元素的存储地址为()A.100B.110C.118D.190答案:C解析:4.下列关于顺序存储结构说法正确的是()A.便于元素的插入B.便于元素的删除C.含有指针D.可实现随机存取答案:D解析:本题考查了顺序存储结构的特点。顺序存储结构不便于元素的插入和删除,链式存储结构含有指针。5.线性表序列为{1311182031},若将元素22插入该表中,则需移动的元素数量为()A.1B.2C.3D.4答案:A解析:本题考查了线性表的插入运算。22应插在20和31之间,所以应后移1位元素“31”。6.对于一个需要经常进行元素在单循环链表中,令头指针head指向头结点,则下列表示该链表为空的是()A.head==NULLB.head!=NULLC.head→next==headD.head→next==NULL答案:C解析:本题考查了单循环链表的概念。空单循环链表中无任何结点,头指针只能指向自己。7.下列关于链式存储结构的说法正确的是()A.可实现随机存取B.引用“指针”来呈现数据关系C.不利于元素的插入D.不利于元素的删除答案:B解析:本题考查了链式存储结构的特点。链式存储结构利于元素的插入和删除,不可实现随机存取,并引用了指针概念。8.线性表序列为{01122334455},若将元素33删除,则需移动的元素数量为()A.1B.2C.3D.4答案:B解析:本题考查了线性表的插入运算。23应插在22和33之间,所以应前移2位元素。9.若线性表中每个元素占5个存储单元,第1个元素的存储地址为5,则第5个元素的存储地址为()A.10B.15C.20D.25答案:D解析:10.顺序表中,逻辑上相邻的元素,其存储地址()A.一定相邻B.一定不相邻C.不一定相邻D.可能不相邻答案:A解析:本题考查了顺序表中顺序存储结构的特点。顺序表的特点是将逻辑上相邻的元素存储到地址也相邻的物理地址中,所以存储地址一定相邻。11.在单链表中,结点D所指的结点不是终端结点,那么将结点H插入到结点D后的语句是_______。答案:H→next=D→next;D→next=H解析:本题考查了单链表的插入运算。“H→next=D→next”实现结点H指向结点D的下一个结点,“D→next=H”实现结点D指向结点H。12.在线性结构中,没有直接前趋的是_______结点。答案:开始解析:本题考查了线性表的逻辑特征。线性结构中的开始结点没有直接前趋,只有直接后继。13.顺序表中第一个元素的存储地址为100,其中每个元素占5个存储单元,那么第7个元素的存储地址为_______。答案:130解析:本题考查了线性表中元素的存储地址关系。100+(7-1)*5=130。14.在一个长度为n的顺序表中删除第i个元素,需要向前移动_______个元素。答案:n-i解析:本题考查了顺序表的删除运算。需要删除第i个元素,所以要向前移动n-i个元素。15.在用p指针访问单链表时,判断不是访问结束的条件是______。答案:p!=NULL;解析:本题考查了单链表的概念。当访问到最后的终端结点无后继结点,所以终端结点的指针域为空,用NULL表示。16.在访问单循环链表时,判断不是访问表结束的条件是________。答案:p!=head;解析:本题考查了单循环链表的概念。单循环链表的终端结点的指针域不为空,而是指向链表的头结点,从而构成了一个循环链表。17.对于一个需要经常进行元素增减的线性表,宜采用_______存储结构。答案:链式解析:本题考查了链式存储结构的特点。在线性表的顺序存储结构和链式存储结构中,链式存储结构方便元素的插入和删除。18.下列函数的功能是:在带头结点的单链表上进行选择排序。请在空白处填上适当内容将函数补充完整,并说明该算法是否是稳定的。答案:(1)q->next(2)p->next=q->next(3)r->next=q该算法是稳定的。解析:本题考查单链表的删除与插入(调换)。算法语句含义:从第一个和第二个结点开始比较,若第一个结点大于第二个结点,则继续比较第二个和第三个结点;若第一个结点小于第二个结点,则交换两结点的位置;直到查找完毕整条链表。该算法的目的是,将链表中的结点按关键字大小的升序进行排列,通过对算法的分析发现,此类算法并不会破坏关键字的相对次序,所以是稳定的。19.下列函数的功能是在带头结点的单链表head中删除所有数据域值为x的结点,请在空白处填上适当的语句,使其完成指定的功能。答案:(1)p->next=q(2)q=q->next (或q=p->next)解析:本题考查的是单链表的删除操作指令。20.设非空双向循环链表L的头指针为head,表结点类型为DLNode。但L中所有结点的prior域均为空(NULL),函数f30的功能就是为每个结点的prior域赋值,请将下列算法补充完整。答案:(1)head(2)p->next->prior(3)head->prior解析:本题考查了双向循环链表的构成和指针域的赋值。(1)该语句用来判断链表是否是空链;(2)该语句完成prior域的赋值,使p指向的结点指向p本身,构成双向循环链表;(3)该语句令头结点head指向最后一个结点。21.设带头结点的单链表初始为空。将从键盘读入的每个字符作为一个结点加入该链表表尾,当读入回车符时结束并返回链表表头指针。请在空白处填写适当内容,完成其功能。答案:(1)p=(ListNode*)malloc(sizeof(ListNode))(2)rear->next=p(3)head解析:本题考查单链表的“尾插法建表”。22.阅读下列程序,回答问题。style="max-width:100%;">(1)若链表L={12,0,15,77,26,42},则f30(L)的输出结果是?(2)函数f30的功能是什么?答案:(1)77(2)返回(找出)链表中结点的最大值。23.阅读下列算法,并回答问题。style="max-width:100%;">(1)若SL1->data中的数据为{25,4,256,9,-38,47,128,256,64},SL2->data中的数据为{22,4,-63,15,29,34,42,3},则算法f33(&SL1,&SL2)后SL1->data和SL2->data中的数据各是什么?(2)该算法的功能是什么?答案:本题考查了线性表的插入和删除运算。(1)SL1->data中的数据是{25,4,256,15,29,47,128,256,64}SL2->data中的数据是{22,4,-63,9,-38,34,42,3}(2)该算法比较两个线性表中相同下标位置的两个元素,较大者移动到较长的线性表中,较小者移动到较短的线性表中。解析:该题程序较长,但算法简单,需耐心分析。该算法的含义是,先比较两个线性表的长度,将长度较长的线性表作为SL1代入f33函数中,将长度较小的线性表作为SL2代入f33函数中。比较两个线性表中相同下标位置的两个元素,较大者移动到较长的线性表中,较小者移动到较短的线性表中。24.设有两个顺序表A和B,且都递增有序。试写一算法,从A中删除与B中相同的那些元素(也就是计算A-B)。答案:解析:本题考查了顺序表的删除运算。算法思想是:扫描整个B表,顺序取表中每个元素,然后与表A中从某下标开始的元素进行比较(因为两表都是有序的,不必每次从头开始,用一个变量k标识上一次比较结束的位置),当B中的某元素值大于或等于A的某个元素时,比较结束。记住A表的当前下标值k,之后再比较两元素值是否相等,若相等,则从表A中删除该元素,而后继续B中的下一个元素与A中从第k个元素开始向后比较;否则,继续,……,直到B中所有元素比较完为止。25.设有一个带头结点的双向循环链表,head为链表的头指针。试写一算法,实现在值为x的结点之前插入一个值为y的结点。答案:解析:本题考查了双向循环链表的查找运算。因为链表是双向循环链表,所以不需要用指针指向x之前的结点,但要先从开始结点用循环找到要插入的位置,也就是x结点的位置。第三章单选1.若入栈的一列元素序列为1,2,3,4,则可能的出栈顺序是()A.1,4,2,3B.3,4,1,2C.2,4,3,1D.4,1,3,2答案:C解析:本题考查了栈的“后进先出”原则。栈中的元素遵循“后进先出”的原则,先使1进栈,然后2进栈,再立刻让2出栈,之后3和4入栈,再依次使4、3、1出栈。在其他选项中,出栈顺序不符合“后进先出”原则。2.已知栈顶元素为1,则下列表示元素1出栈的运算是()A.InitStack(&S)B.GetTop(S)C.Push(&S,1)D.Pop(&S)答案:D解析:本题考查了栈的基本运算中的出栈运算。在栈的运算中,Pop(&S)表示删除栈顶元素,即出栈。3.下列可用于判断顺序栈是否为空栈的运算为()A.S->top=-1B.returnS->top==-1C.returnS->top==StackSize-1D.S->top=S->top+1答案:B解析:本题考查了顺序栈基本运算中的置空栈。“returnS->top==-1”用来判断栈空,而“S->top=-1”是用来令栈为空栈的。4.在栈的链式存储结构中,不需要设置头结点的原因是()A.该存储结构中的结点没有直接前趋B.该存储结构中的结点没有直接后继C.栈是非线性结构D.只在栈顶的一端进行元素的插入和删除答案:D解析:本题考查了栈的链式存储结构的概念。由于栈的“后进先出”原则,元素的插入和删除都只在栈顶进行,所以不需要设置头结点。5.下列可用于判断链栈是否为空栈的运算为()A.returntop==NULLB.top=pC.p->next=topD.top=p->next答案:A解析:本题考查了链栈基本运算中的判栈空。在链栈中,用于判断空栈的运算是“returntop==NULL”。6.下列关于栈和队列的相同之处,说法正确的是()A.都只在一端进行元素的插入和删除B.都遵循“先进先出”原则C.链式存储结构中都不需要设置头结点D.链式存储结构中都需要设置头结点答案:A解析:本题考查了栈和队列的概念。对于栈,只在栈顶进行元素的插入和删除,而在队列中,在队尾实现元素的插入,在队头实现元素的删除,遵循“先进先出”原则,最先插入的元素也会最先被删除;由于元素的插入和删除的实现方式不同,所以链栈不需要设置头结点,而链式队列需要。7.在队列的基本运算中,表示将元素1插入队列中的是()A.InitQueue(Q)B.EnQueue(Q,1)C.DeQueue(Q)D.GetFront(Q)答案:B解析:本题考查了队列的基本算法中的入队列。在队列的基本运算中,“EnQueue(Q,1)”表示将元素1插入到队列中。8.若用一个大小为5的数组保存循环队列Q,若经过一次元素的插入和两次元素的删除后,rear和front的值分别是1、4,那么在此之前rear和front的值分别是()A.0,1B.1,2C.0,2D.1,3答案:C解析:本题考查了顺序循环队列的rear值和front值的判断。在循环队列中,每经过一次元素的插入则rear的值加一,每经过一次元素的删除则front的值加一,所以应选择C。9.循环队列的rear和front的值分别是1,5,若出队一个元素,入队两个元素,则rear和front的值分别是()A.2,5B.3,6C.2,7D.3,7答案:B解析:本题考查了顺序循环队列的rear值和front值的判断。在循序队列中,入队时rear的值加1,出队时front的值加1,所以选择B。10.在链栈中,判栈空的指令是()A.returntop==NULLB.returntopC.top==NULLD.returnS->data[S->top]答案:A解析:本题考查了链栈的基本运算中的判栈空。链栈的判栈空为“returntop==NULL”。11.清空顺序栈中所有数据元素的指令是()A.S->top=-1B.returnS->top==-1C.returnS->top==StackSize-1D.returntop==NULL答案:A解析:本题考查了顺序栈基本运算中的置空栈。置空栈即可达到想要的结果,而置空栈的指令为S->top=-1,而returnS->top==-1是用来判断空栈的。12.若栈S的序列为{0123},则执行一次Pop(&S)后,栈顶元素为()A.0B.1C.2D.3答案:C解析:本题考查了栈的出栈运算。Pop(&S)是出栈指令,将会删去栈顶元素,所以执行后的栈顶元素为2。13.用于判断顺序栈是否为空栈的是()A.S->top=-1B.returnS->top==-1C.returnS->top==StackSize-1D.returntop==NULL答案:B解析:本题考查了顺序栈基本运算中的判栈空。判栈空:returnS->top==-1。14.在链栈中,“p->data=x;p->next=top;top=p;”的含义为()A.数据域为p的结点x的进栈B.数据域为x的结点p的进栈C.数据域为p的结点p的出栈D.数据域为p的结点x的出栈答案:B解析:本题考查了链栈的进栈运算。“p->data=x”的含义为将x赋给结点P的数据域,“p->next=top;top=p”的含义为插入结点p。15.循环队列的rear和front的值分别是0,2,若出队两个元素,入队一个元素,则rear和front的值分别是()A.0,1B.0,2C.1,3D.1,4答案:D解析:本题考查了循环队列中rear值和front值的概念。在循序队列中,入队时rear的值加1,出队时front的值加1,所以选择D。16.用于判断顺序栈是否饱和的是()A.S->top=-1B.returnS->top==-1C.returnS->top==StackSize-1D.returntop==NULL答案:C解析:本题考查了顺序栈的判栈满运算。判栈满:returnS->top==StackSize-1。17.在链栈中,“top=p->next;free(p)”的含义为()A.结点p的进栈B.结点p的出栈C.利用结点p判栈空D.利用结点p判栈满答案:B解析:本题考查了链栈的基本运算。见“押题精华”链栈基本运算的实现。18.若栈S的序列为{0123},x=0,则执行一次Push(&S,x)后,栈顶元素为()A.0B.1C.2D.3答案:A解析:本题考查了栈的入栈运算。Push(&S,x)是入栈指令,最终栈顶元素为x=0。19.顺序栈中,“S->top=S->top+1;S->data[S->top]=x”的含义是()A.判栈空B.判栈满C.元素x进栈D.元素x出栈答案:C解析:本题考查了顺序栈的进栈运算。顺序栈栈顶指针top的值加1,然后将元素x放入栈顶,实现元素x的进栈。第三章填空+解答1.现有可容纳100个元素的数组A[0...99],该数组供给两个栈使用,为了充分利用存储空间,若第一个栈的栈底元素保存在A[99]中,那么第二个栈的栈底元素应保存在______中。答案:A[0]解析:本题考查了栈的顺序存储结构。为实现存储空间的充分利用,应使两个栈从头和尾(相向而行)分别开始进行元素的存储,这样一可避免为某个栈分配的存储空间不足,二可实现存储空间的充分利用。2.假设以S和X分别表示进栈和退栈操作,则对输入序列a,b,c,d,e进行一系列栈操作SSXSXSSXXX之后,得到的输出序列为_______。答案:b,c,e,d,a解析:本题考查了栈的基本算法的进栈和退栈操作。3.设顺序栈存放在S.data[maxsize]中,栈底位置是maxsize-1,则栈空条件是_______;栈满条件是______。答案:s.top==maxsize;s.top==0解析:本题考查了顺序栈的基本运算的判栈空和判栈满。4.从循环队列中删除一个元素时,其操作是先_______,后_______。答案:取出队头元素移动队头指针解析:本题考查了循环队列的基本运算中的出队列运算。5.若循环队列用数组data[m]存储元素值,用front和rear分别作为头尾指针,则当前元素的个数为______。答案:(rear-front+m)%m解析:本题考查了对循环队列中rear值和front值的运用。6.一个直接调用自己或间接调用自己的函数,称为______。答案:递归函数解析:本题考查了递归的概念。7.假设输入栈的元素为a、b、c,在栈S的输出端得到一个输出序列为a、b、c,试写出在输入端所有可能的输入序列。答案:可能的输入序列为:a,b,c;a,c,b;b,a,c;c,a,b;c,b,a。解析:本题考查了栈的基本特性。8.设将整数1,2,3,4依次进栈,进栈的同时可以出栈,请回答下述问题:(1)若入、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Pop(),Push(4),Pop(),则出栈的数字序列是什么?(这里Push(i)表示i进栈,Pop()表示出栈)(2)能否得到出栈序列1423和1432?并说明为什么?(3)请分析1,2,3,4的24种排列中,哪些序列是可以通过相应的入、出栈操作得到的?答案:(1)出栈序列为:1324。(2)不能得到1423序列。因为要得到14的出栈序列,则应做Push(1),Pop(),Push(2),Push(3),Push(4),Pop()。这样3在栈顶,2在栈底,所以不能得到23的出栈序列。能得到1432的出栈序列。具体操作为:Push(1),Pop(),Push(2),Push(3),Push(4),Pop(),Pop(),Pop()。(3)在1,2,3,4的24种排列中,可通过相应入、出栈操作得到的序列是:1234,1243,1324,1342,1432,2134,2143,2314,2341,2431,3214,3241,3421,4321,不能得到的序列是:1423,2413,3124,3142,3412,4123,4132,4213,4231,4312.解析:本题考查了栈的基本入、出栈操作。第三章算法阅读+算法设计1.已知栈的基本操作定义如下,请在空白处填写适当内容,完成相应的功能。答案:(1)s->top==-1(2)s->data[s->top++] (或s->data[++s->top])(3)s->data[s->top--]解析:已知栈的基本操作定义本题考查栈的基本运算指令。2.阅读下列程序,写出f31的输出结果。答案:catch!解析:本题考查了栈的基本运算算法。根据算法中的操作指令,栈中的元素会发生改变,最终借助“while”循环并利用参数“y”将栈中的元素一一输出。3.假设循环队列中只设rear和quelen来分别指示队尾元素的位置和队中元素的个数,试给出判别此循环队列的队满条件,并写出相应的入队和出队算法,要求出队时需返回队头元素。答案:解析:本题考查了循环队列基本运算的判队满、入队与出队。第四章单选1.A.AB.BC.CD.D答案:B解析:2.A.AB.BC.CD.D答案:C解析:3.A.AB.BC.CD.D答案:D解析:4.A.AB.BC.CD.D答案:C解析:5.A.AB.BC.CD.D答案:B解析:6.A.AB.BC.CD.D答案:D解析:7.A.AB.BC.CD.D答案:C解析:8.A.AB.BC.CD.D答案:B解析:9.A.AB.BC.CD.D答案:C解析:A.AB.BC.CD.D答案:D解析:11.A.AB.BC.CD.D答案:D解析:本题考查了数组的顺序存储概念。12.A.AB.BC.CD.D答案:B解析:本题考查了上三角矩阵的压缩存储。第四章填空+简答1.若广义表A的长度为1,并且head(A)=tail(A),则A=________。答案:(())解析:本题考查了广义表的定义和基本运算。该广义表含有一个由空表组成的元素,head(A)=(),tail(A)=()。2.若广义表S=((a,(b)),c,()),则head(S)=________。答案:(a,(b))解析:本题考查了广义表的基本运算。head(LS)取广义表LS展开后的第一个子表或元素。3.若广义表LS=((),a,(b),c),则head(LS)=________。答案:()解析:本题考查了广义表的基本运算。head(LS)取广义表LS展开后的第一个子表或元素,()是一个空子表。4.______是指相同值的元素或零元素在矩阵中的分布有一定规律的矩阵。答案:特殊矩阵解析:本题考查了特殊矩阵的概念。5.特殊矩阵和稀疏矩阵哪一种压缩存储后会失去随机存取的功能?为什么?答案:因为稀疏矩阵的非零元素的分布是没有规律的,其压缩存储是采用三元组表方式。所以稀疏矩阵压缩后会失去随机存取的功能。解析:本题考查了特殊矩阵和稀疏矩阵的概念。6.设广义表L=((),()),试求head(L)、tail(L)、length(L)和depth(L)。答案:head(L)=()tail(L)=(())length(L)=2depth(L)=2解析:本题考查了广义表的定义。第四章算法阅读+算法设计1.答案:解析:见押题精华第四章“稀疏矩阵”。2.答案:3.试写一个算法,建立顺序存储稀疏矩阵的三元组表。答案:解析:本题考查了稀疏矩阵的三元组表表示方法。假设A为一个稀疏矩阵,其数据存储在二维数组a中,b为一个存放对应于A矩阵生成的三元组表。在这个算法中,要进行二重循环来判断每个矩阵元素是否为零,若不为零,则将其行、列下标及其值存入b中。4.当稀疏矩阵A和B以三元组表作为存储结构时,试写出矩阵相加的算法,其结果存放在三元组表C中。答案:解析:本题考查了稀疏矩阵的算法。矩阵相加就是将两个矩阵中同一位置的元素值相加。由于两个稀疏矩阵的非零元素按三元组表形式存放,在建立新的三元组表C时,为了使三元组元素仍按行优先排列,所以每次插入的三元组不一定是A的,按照矩阵元素的行列去找A中的三元组,若有,则加入C,同时,这个元素如果在B中也有,则加上B的这个元素值,否则这个值就不变;如果A中没有,则找B,有则插入C,无则查找下一个矩阵元素。第五章单选1.某树的结构如下,那么根节点是()A.AB.CC.ED.F答案:A解析:本题考查了树的定义。树由根节点开始,由上至下蔓延,一棵树的根结点有且只有1个,位于树的最顶端。2.结点C的度数和树的度数分别是()A.1,2B.2,2C.2,3D.3,3答案:C解析:本题考查了树的基本术语中度的概念。结点C的子树数为2,所以结点C的度数为2;树中根结点A的度数为3,是所有结点的度数中最大的,所以树的度数为3。3.树含有的叶子结点数量是()A.0B.1C.3D.4答案:D解析:本题考查了树的基本术语中叶子结点的概念。度数为0的结点称为叶子结点,树中度数为0的结点有B、E、F、G,所以树的叶子结点数量是4。4.结点F、G的双亲分别是()A.结点A、结点AB.结点A、结点CC.结点C、结点DD.结点A、结点D答案:C解析:本题考查了树的基本术语中孩子结点的概念。结点F所在的子树属于结点C,所以结点F的双亲为结点C,结点C的孩子为结点E和结点F;同理,结点G的双亲为结点D,结点D只有一个孩子,即结点G。5.树的深度为()A.0B.2C.3D.4答案:C解析:本题考查了树的基本术语中树中结点的层次。树的层数即为树的深度,其中根结点为第一层,所以树的深度为3。6.下列关于二叉树的说法错误的是()A.二叉树中的每个结点至少有两个孩子B.二叉树中的每个结点至多有两个孩子C.二叉树的第3层上最多有4个结点D.深度为3的二叉树最多有7个结点答案:A解析:本题考查了二叉树的定义。二叉树中的每个结点至多只能有两个孩子,故A项错误,第1题中的树并非二叉树,其余说法均正确。7.现有一棵二叉树,它的叶子结点数为4,度数为2的结点数为Y,则Y的值为()A.1B.2C.3D.4答案:C解析:8.某二叉树结构如下,若对其进行前序遍历,则遍历序列为()A.ABCDEFB.ABDECFC.DBEACFD.DEBFCA答案:B解析:本题考查了二叉树遍历中的前序遍历。该二叉树的前序遍历为ABDECF,详见押题精华“三种遍历算法”。9.对其进行中序遍历,则遍历序列为()A.ABCDEFB.ABDECFC.DBEACFD.DEBFCA答案:C解析:本题考查了二叉树遍历中的中序遍历。该二叉树的中序遍历为DBEACF,详见押题精华“三种遍历算法”。10.若对其进行后序遍历,则遍历序列为()A.ABCDEFB.ABDECFC.DBEACFD.DEBFCA答案:D解析:本题考查了二叉树遍历中的后序遍历。该二叉树的后序遍历为DEBFCA,详见押题精华“三种遍历算法”。11.下列关于哈夫曼树的说法错误的是()A.同一结点序列构成的二叉树中,哈夫曼树的WPL是最小的B.哈夫曼树中各结点的度为0或2C.用n个结点构造的哈夫曼树是唯一的D.树中两个权值最小的结点可能是兄弟结点答案:C解析:本题考查了哈夫曼树的权值、带权路径长度和构造。相同的结点序列构成的哈夫曼树并不是唯一的;若最小的权值相同且有3个,那么其中两个权值形成的结点未必是兄弟结点,所以D项是正确的,只有C项错误。12.某哈夫曼树结构如下,则它的WPL为()A.8B.10C.12D.14答案:C解析:本题考查了哈夫曼树的带权路径长度。在该哈夫曼树中,结点6的路径长度为1,结点1和结点2的路径长度均为2,WPL=6*1+1*2+2*2=12。13.结点1的哈夫曼编码为()A.000B.011C.010D.111答案:C解析:本题考查了哈夫曼树的编码。哈夫曼编码的编码原则为:左子树为0,右子树为1。所以结点1的哈夫曼编码为010。14.二叉树的结构如下,对其进行前序遍历,则输出的遍历序列为()A.ABCDEFB.CBDAFEC.CDBFEAD.FEDCBA答案:A解析:本题考查了二叉树的前序遍历。见押题精华“三种遍历算法”。15.二叉树的结构如下,对其进行中序线索化后,结点F的左指针应指向()A.BB.DC.AD.E答案:C解析:本题考查了二叉树的线索化。先对其进行中序遍历,得到遍历序列为CBDAFE,则结点F的左指针应指向左边的结点A。16.若构造一棵含有n个叶子结点的哈夫曼树,则树中的结点数量为()A.n-1B.n+1C.2n-1D.2n+1答案:C解析:本题考查了哈夫曼树的构造。根据哈夫曼树的特点,假设现有3个叶子结点,那么这3个叶子结点可以构成一棵含有5个结点的哈夫曼树,我们将n=3代入选项,发现只有C项的结果是5,所以选择C项。17.二叉树的结构如下,对其进行前序遍历,则输出的遍历序列为()A.ABCDEFGB.CBEDAFGC.CEDBGFAD.GFEDCBA答案:A解析:本题考查了二叉树的前序遍历。见押题精华“三种遍历算法”。18.在有n个结点的二叉链表中,值为非空的链域的个数为()A.2n+1B.2n-1C.n-1D.n+1答案:C解析:本题主要考查了二叉链表。对n个结点的二叉链表,共有2n个链域(每个结点有左、右两个链域),除根结点外,二叉链表中每个结点都有一个从其双亲结点指向它的指针,也就是说,2n个链域中,只有n-1个用来指向结点的左、右孩子,其余的n+1个链域为空值,所以值为非空的链域共有n-1个。19.A.AB.BC.CD.D答案:D解析:本题考查了森林与二叉树的转换。将森林转换为二叉树,森林中除第一棵子树外的其余树一并构成二叉树的右子树。第五章填空1.答案:WPL解析:本题考查了哈夫曼树的带权路径长度。在此类条件下,哈夫曼树的特性就是WPL最小。2.答案:8解析:3.答案:7解析:4.答案:2解析:5.答案:不变解析:本题考查了二叉树的前序和后序遍历。任意画一棵二叉树,进行两次遍历后即可发现其特点。6.答案:叶子结点或终端结点解析:本题考查了树的基本术语中叶子结点的概念。7.对于具有n个结点的二叉树,路径长度最短的是_________;加权以后,带权路径长度最小的是________树。答案:完全二叉树哈夫曼解析:本题考查了二叉树中的完全二叉树和哈夫曼树的概念。8.对一棵二叉线索链表结构中所有结点的空指针域按照某种遍历次序加线索的过程称为_______。答案:线索化解析:本题考查了二叉树的线索化。9.答案:满二叉树解析:本题考查了满二叉树的概念。第五章解答1.若某电文字符集为{a1、a2、a3、a4、a5},各字符出现的次数分别为{8,12,15,24,3}。现要为该字符集设计哈夫曼编码。请回答下列问题:(1)画出构造的哈夫曼树;(2)给出各字符的哈夫曼编码;(3)计算电文编码总长。答案:2.答案:解析:二叉树结构如下。(此类题目需熟练掌握三种遍历算法,根据题目已知信息慢慢推导)3.请写出下列二叉树的前序遍历。答案:AGEBDCF解析:

见“押题精华”二叉树的三种遍历算法。4.请将权值分别是15,30,8,12,10的五个叶子结点构造成一棵哈夫曼树。答案:5.画出下图中所示各二叉树所对应的森林。答案:解析:本题考查了二叉树到森林的转化。第五章算法阅读+算法设计1.答案:(1)returnNULL(2)CopyBin(Bt->lchild)(3)CopyBin(Bt->rchild)2.答案:(1)查找成功

(2)44解析:

本题算法语句含义为:从根结点开始,若根结点的关键字与K相同输出“查找成功”;否则,若大于k值,输出根结点的左子树,小于K值则输出根结点的右子树。3.答案:(1)23,15,19,14(2)按中序查找二叉树中满足条件“root->key>=left&&root->key<right”的结点,并按中序遍历二叉树的次序依次输出。(大意相同即可)解析:该题中的编程,功能是查找大于或等于14并且小于30的结点,并输出。要注意,等于14可以输出,但是等于30不可输出,所以第(1)问中的答案中有结点14,但不应该有结点30。4.答案:ABCCBA解析:此类题目中含有另一个子函数f31,所以在分析和执行算法时一定要注意执行步骤。解题思路:本题中,我们可人为的将核心算法分为三步(再次调用子函数f31的语句视为第二步)。第一个输入是根结点A,当执行到第二步时,算法暂停,先去执行另一个f31函数,将根结点A的左子树B作为根结点(第二个输入)代入执行f31。结点B执行到第二步时,算法暂停,先去执行另一个f31函数,将根结点B的左子树C作为根结点(第三个输入)代入执行f31。最终结点C的算法全部执行完毕,结点B的f31函数继续执行,结束后执行结点A的f31函数。以上是算法的执行顺序,根据该执行顺序和题干中的语句,我们可得到输出结果ABCCBA。5.答案:(1)T=NULL(2)NewT(3)f33(T->rchild)(4)f33(T->lchild)(5)NewT6.答案:7.答案:解析:本题考查了二叉树的链式存储结构。因为调用函数只能进行值传递,当返回类型为void时,就必须把实际参数的地址传给函数,否则函数不会对实际参数进行任何操作,也就得不到所需结果了。所以,newroot要说明为BinTree型指针。8.以二叉链表为存储结构,分别写出在二叉树中查找值为x的结点及求x所在结点在树中层数的算法。答案:解析:本题考查了二叉树的链式存储结构的运算。第六章单选1.下列属于非线性的数据结构是()A.线性表B.栈C.队列D.图答案:D解析:本题考查了图的定义。图和二叉树均属于非线性结构。2.在有向图中,每条边都是有方向的,这种边也被称为()A.长B.度C.路径D.弧答案:D解析:本题考查了有向图的概念。只有在有向图,边才有方向,这种边也被称为弧。3.在有向图中,两个顶点之间可以最多拥有的边数是()A.1条B.2条C.3条D.4条答案:B解析:本题考查了有向图的概念。在有向图中,每个顶点最多有两条边,一条为出边,一条为入边。4.在有向图中,一个顶点的度数最大可为()A.2B.3C.4D.5答案:C解析:本题考查了有向图的度。在有向图中,两个顶点间最多存在两条边,所以一个顶点最多可以有两条出边和两条入边,即最大的度数为4。5.若在某有向图中共有三个顶点,它们的度数分别为2,3,3,那么该图中的总边数为()A.1条B.2条C.3条D.4条答案:D解析:本题考查了图的顶点、边数和度数之间的关系。无论是有向图还是无向图,图的总边数是总度数的一半,即为(2+3+3)/2=4条。6.在有三个顶点的有向完全图中,它的总边数为()A.0B.2C.4D.6答案:D解析:7.用邻接矩阵表示有n个顶点和e条边的无向图,并采用压缩方式存储,那么矩阵中的零元素数量为()A.n(n+1)/2-eB.n(n+1)/2-2eC.n*n-eD.n*n-2e答案:A解析:本题考查了无向图的邻接矩阵的压缩存储。这种题目只能通过“先假设再代入”的方式解决,我们假设无向图中有3个顶点两条边(即n=3,e=2),转换为邻接矩阵后有5个零元素,但是经过压缩存储后只有4个零元素了。我们将n=3,e=2,代入各个选项中,发现只有A项的结果为4,所以选择A项。8.若无向图中所有顶点的度数和为16,那么无向图的边数和为()A.2B.4C.6D.8答案:D解析:本题考查了图的顶点、边数和度数之间的关系。无论是有向图还有无向图,它们的边数和是所有顶点的度数和的一半。9.现有一个有向图,令顶点代表编号,那么它的邻接矩阵为()A.AB.BC.CD.D答案:C解析:本题考查了图的邻接矩阵表示法。与无向图中构造原则一致。不过在有向图中,只统计出边。顶点0分别指向顶点1和顶点2,所以矩阵中第0行第1列和第0行第2列的位置为“1”,其余列为“0”,由此类推,可构造出该有向图的邻接矩阵。A.1256374B.1325674C.1365247D.1374526答案:B解析:本题考查了图的深度优先搜索遍历。在深度优先搜索遍历中,先任意选定一个顶点开始访问,然后每次都随机访问它的一个邻近顶点,对于其他的顶点也是如此;若没有邻近顶点,则任意选择一个未被访问的顶点开始遍历。在B项中,顶点3的邻近顶点不是顶点2,所以不能直接由3到2。A.1324B.1423C.1432D.2341答案:A解析:本题考查了图的广度优先搜索遍历。可先将图按树的深度进行分层,树的根结点任意。由ABC选项可知,选择的根结点为顶点1,分层原则为按照顶点的邻近关系进行分层,第一层必定为顶点1,它的邻近顶点分别为3和2,所以顶点3和2位第二层,顶点4为第三层,如图示。按照广度优先搜索遍历的访问原则,只有A项正确。12.A.AB.BC.CD.D答案:C解析:13.A.1,2,1,2B.2,2,1,1C.3,4,2,3D.4,4,2,2答案:C解析:本题考查了图的邻接矩阵表示法。因为邻接矩阵不是一个对称的矩阵,所以这肯定是一个有向图的邻接矩阵。根据有向图的邻接矩阵生成原则,矩阵中只统计每个顶点的出边,但是有向图中顶点的边数为出边加上入边的量,所以应选择C。若对下图进行深度优先遍历,则不可能得到的遍历序列为()A.AEDCFBB.ABEDCFC.AEFCBDD.ABCEFD答案:D解析:本题考查了深度优先遍历。顶点B和顶点C不相邻,所以错误。若对下图进行广度优先遍历,则不可能得到的遍历序列为()A.ABCEFDB.ACBEFDC.ACEBDFD.AEBCFD答案:C解析:本题考查了广度优先遍历。第二层的访问顺序为CEB,所以第三层的访问顺序必定是FD,而不是DF。16.下列说法不正确的是()A.生成树是连通图的极小连通子图B.任何连通图的连通分量只有一个C.连通分量是无向图中的极小连通子图D.非连通图至少有一个以上的连通分量答案:C解析:本题考查了连通图。无向图的极大连通子图称为连通分量;任何连通图的连通分量只有一个,即自身;非连通的无向图有多个连通分量;生成图是连通图的极小连通子图。17.无向图的邻接矩阵是一个()A.零矩阵B.对称矩阵C.对角矩阵D.上三角矩阵答案:B解析:本题考查了图的邻接矩阵。无向图的邻接矩阵是一个对称矩阵。18.下列说法中不正确的是()A.图的深度优先搜索的方法不适用有向图B.图的遍历过程中每一顶点仅被访问一次C.图的深度优先搜索是一个递归过程D.遍历图的基本方法有深度优先搜索和广度优先搜索两种答案:A解析:本题考查了图的遍历。图的遍历方法有两种,深度优先搜索和广度优先搜索。两种遍历方法,对有向图和无向图都适用。第六章填空+解答1.答案:无向图解析:本题考查了无向图的邻接矩阵。无向图的邻接矩阵一定是对称的。2.在无向图的邻接矩阵中,A[2][3]=0,则A[3][2]=________。答案:0解析:本题考查了无向图的邻接矩阵。无向图的邻接矩阵是一个关于主对角线对称的矩阵,所以A[3][2]=A[2][3]=0。3.一个连通图的子图,如果是一棵包含了该连通图所有的顶点的树,则该子图称为连通图的_________。答案:生成树解析:本题考查了生成树的概念。一个连通图的一个子图,如果是一棵包含该连通图的所有顶点的树,则该子图称为连通图的生成树。4.答案:3解析:本题考查了图的顶点、边数和度数之间的关系。无论是有向图还是无向图,图的总度数是总边数的2倍。5.答案:有向无环图解析:本题考查了顶点活动网的概念。有向且无环的图才存在拓扑结构。6.一个无向连通图的生成树是含有该连通图的全部顶点的________子图。答案:极小连通解析:本题考查了生成树的概念。一个无向连通图的生成树是含有该连通图的全部顶点的极小连通子图。7.一个带权的无向连通图的最小生成树有_________。答案:一颗或多颗解析:本题考查了最小生成树。由于一个网(带权图)中会有权值相同的边,所以从不同的顶点出发,可以得到不同的最小生成树。8.设图G有n个顶点和e条边,进行深度优先搜索的时间复杂度至多为_________,进行广度优先搜索的时间复杂度至多为________。答案:解析:9.已知一个有向图G的邻接矩阵表示,计算第i个结点的入度的方法是________。答案:求矩阵第i列非零元素之和解析:本题考查了有向图的邻接矩阵。计算第i个结点的入度的方法是求矩阵第i列非零元素之和。10.普里姆算法的时间复杂度是_________,与网中__________无关。答案:解析:11.对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为________,所有邻接表中的结点总数是___________。答案:n,2n解析:本题考查了无向图的邻接表表示法。表头向量的大小为n,所有邻接表中的结点总数是2n。12.答案:13.答案:解析:构造原则是,先选择图中最小权的边,然后从该边连接的所有顶点开始,找出顶点邻近的最小权的边;接着一直重复下去,直到所有顶点连通。注意,不可形成回路。14.答案:15.请给出下图中的一棵最小生成树。答案:16.答案:(1)是

(2)A,B,E,D,G,C,F (另一种序列:A,B,E,D,C,G,F)解析:(1)图中无“回路”,所以是有向无环图。(2)拓扑结构排序的原则是,每次都从图中选出一个无入边的顶点,输出并从图中删除,然后重复。该题共有两种拓扑结构排序,写出一种即可。第六章算法设计题1.试在无向图的邻接矩阵和邻接表上实现如下算法:(1)往图中插入一个顶点。(2)往图中插入一条边。(3)删去图中某顶点。(4)删去图中某条边。答案:第七章单选+填空1.A.AB.BC.CD.D答案:D解析:2.A.AB.BC.CD.D答案:B解析:3.A.AB.BC.CD.D答案:D解析:4.已知关键字序列为{65,8,32,18,25,15,12,4},该关键字序列经过升序冒泡排序后,第一趟的输出序列为()A.4,8,12,15,18,25,32,65B.65,32,25,18,15,12,8,4C.4,65,8,32,18,25,15,12D.65,32,8,25,18,15,12,4答案:C解析:本题考查了冒泡排序。将关键字进行两两对比,并判断是否应交换位置。5.A.AB.BC.CD.D答案:A解析:6.关键字序列{21,7,54,32,11}构成的大根堆序列为()A.54,32,21,11,7B.32,54,21,7,11C.54,32,21,7,11D.32,54,11,21,7答案:C解析:本题考查了堆排序中大根堆的构造。根据大根堆的构造原则,检查结点是否满足大根堆条件。7.对关键字序列{12,8,54,18,36}进行升序的归并排序,第二趟的排序结果为()A.8,12,36,18,54B.8,12,18,54,36C.8,12,18,36,54D.、8,12,18,54,36答案:D解析:本题考查了归并排序。第一趟的排序结果为8,12,18,54,36,两两成组排序后,第二趟的结果不变。8.若待排序的关键字已基本有序,这种情况下,下列排序法花费的时间反而会增加的是()A.快速排序B.冒泡排序C.希尔排序D.插入排序答案:A解析:本题考查了排序的时间复杂度。当待排序的关键字有序或基本有序时,使用快速排序反而效率降低,其时间复杂度增大,使快速排序变为冒泡排序。效率最高的排序是直接插入排序。9.每一趟都可以将元素放在确定的最终位置上的排序法是()A.直接选择排序B.希尔排序C.插入排序D.归并排序答案:A解析:本题考查了直接选择排序。直接选择排序每次都可以选出一个最小的元素,将其放在序列最前端。10.以下排序方法中,时间复杂度不受数据初始状态影响,而且恒为的方法是()A.冒泡排序B.直接选择排序C.堆排序D.快速排序答案:B解析:11.下列排序方法中,记录关键字比较的次数与记录的初始排列次序无关的方法是()A.希尔排序B.直接插入排序C.直接选择排序D.冒泡排序答案:C解析:本题考查了直接选择排序。直接选择排序无论待排序记录的初始状态如何,每次选择需要作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论