收藏 分享(赏)

数据结构试题.pdf

上传人:精品资料 文档编号:10723137 上传时间:2020-01-02 格式:PDF 页数:56 大小:218KB
下载 相关 举报
数据结构试题.pdf_第1页
第1页 / 共56页
数据结构试题.pdf_第2页
第2页 / 共56页
数据结构试题.pdf_第3页
第3页 / 共56页
数据结构试题.pdf_第4页
第4页 / 共56页
数据结构试题.pdf_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、数据结构试题导弹学院数据结构课程结束考试卷(一)一、单项选择题(每题2分,共20分)1、链表中最常用的操作是在最后一个结点之后插入一个结点和删除一个结点,则采用_D_存储方式最节省运算时间。A、单链表B、双向链表C、单循环链表D、带头结点的双向循环链表2、设一个栈的输入序列为A、B、C、D,则借助一个栈所得到的输出序列不可能是_D_。A、A,B,C,D B、D,C,B,A C、A,C,D,B D、D,A,B,C3、串是_D_ A、不少于一个字母的序列B、任意个字母的序列C、不少于一个字符的序列D、有限个字符的序列4、链表不具有的特点是_A_。A、可随机访问任一元素B、插入、删除操作不需要移动元

2、素C、不必事先估计存储空间D、所需空间与线性表长度成正比5、在有n个叶子结点的赫夫曼树中,其结点数为:_D_ A、不确定B、2n C、2n+1 D、2n-16、任何一个无向连通网的最小生成树_B_。A、只有一棵B、有一棵或多棵C、一定有多棵D、可能不存在7、将一棵有100个结点的完全二叉树从上到下、从左到右依次对结点进行编号,根结点为1,则编号为49的结点的左孩子编号为_A_。A、98 B、99 C、50 D、48 2n8、下列序列中,_A_是执行第一趟快递排序后,得到的序列(排序的关键字类型是字符串)A、da,ax,eb,de,bb ff ha,gcB、cd,eb,ax,da ff ha,g

3、c,bbC、gc,ax,eb,cd,bb ff da,haD、ax,bb,cd,da ff eb,gc,ha9、用n个值构造一棵二叉排序树,最低高度为_D_ A、n/2B、n log2n C、D、10、折半查找法要求查找表中各元素的关键字必须是_A_排列。A、非递增或非递减B、非递增C、非递减D、无序二、判断题(每题2分,共10分)1、()串长度是指串中不同字符的个数。2、()一个有向图的邻接表和逆邻接表中的结点个数一定相等。3、()在顺序表中取出第I个元素花费的时间与I成正比。n(1)4、()在顺序栈满情况下不能作进栈运算,否则产生“上溢”。5、()二叉排列树或者是一空树,或者是有下列情况的

4、二叉树,若它的左子树非空则根结点的值大于其左孩子的值,若它的右子树非空,则根结点的值小于其右孩子的值。+它的左右子树分别也为二叉排序树三、填空题(每题2分,共20分)1、带有头结点的单链表L中,第一个元素结点的指针是_L-next_。2、双向循环链表中,在指针p所指结点前插入指针s所指的结点,需执行下列语句。s-prior=p-prior; _p-prior-next_=s;s-next=p;p-prior=s;3、设S为一个顺序栈,变量top指示栈顶位置,base指示栈底位置,则判断栈为空的条件是_S.top=S.base_。4、具有100个结点的完全二叉树的深度为_7_。5、有向图G用邻接

5、矩阵A存储,其第I行的所有元素之和等于第I个顶点的_出度_。6、先序遍历森林正好等同于先序遍历对应的二叉树。7、对于下面图1所示的二叉树,按中序遍历得到的结点序列为_dbgeacf_。四、应用题1答案8、分别采用堆排序,快速排序,插入排序和归并排序算法对初始状态为递增序列的表按递增顺序排序,最省时间的是_插入排序_算法,最费时间的是_快速排序_算法。9、数据的结构分为四个类型,分别是集合、线性结构、_树形结构_、和_图状结构或网状结构_。10、对于关键字序列(12,13,11,18,60,15,7,18,25,100),用筛选法建堆,必须从关键字为_60_的结点开始。四、应用题(每题7分,共4

6、2分)1、已知二叉树的后序序列为ABCDEFG,中序序列为ACBGEDF,请构造出该二叉树。2、有一组关键字序列(38,19,65,13,97,49,41,95,1,73),采用冒泡排序方法由小到大进行排序,请写出每趟的结果。38 19 65 13 97 49 41 95 1 73第一趟19 38 13 65 49 41 95 1 73 97第二趟19 13 38 49 41 65 1 73 95第三趟13 19 38 41 49 1 65 73第四趟13 19 38 41 1 49 65第五趟13 19 38 1 41 49第六趟13 19 1 38 41第七趟13 1 19 38第八趟1

7、13 19第九趟1 133、设图G=(V.E)。其中V=1,2,3,4,5,6,E=1,2,1,3,2,5,3,6,6,5,5,4,6,4,请写出图G中顶点的所有拓扑序列。4、设哈希函数为H(key)=keymod7,地址空间为06,开始时哈希表为空,用线性探测法解决冲突,请画出关键字为23,14,9,6,30,12,18时的哈希表。哈希表:0 1 2 3 4 5 61418239 301265、对下面图2和图3所示的两棵二叉树,分别画出它们的顺序存储结构。图2所示二叉树的顺序存储结构是:A B C D E F G图3所示二叉树的顺序存储结构是:A B C D E 0 0 0 0 F G6、已

8、知图的邻接表如下,画出图G的所有连通分量。1 A2B3 C4 D5 E6F7G8H 9I五算法设计题(8分)设一个环上有若干个整数,现采用单循环链表L存储该环,已知L的结点结构为:Data next试编写算法判断环上任意两个相邻元素值的差的绝对值是否不超过2.当环上没有元素或只有一个元素时,或者任意两个相邻元素值的差的绝对值都不超过2时返回1,否则返回0。int judge(LinkList L)Lnode *p;inta;p=L-next;if(p=L|p-next=L) return1; /没有元素或只有一个元素时while(p-next!=L)a=abs(p-datap-next-dat

9、a);if(a2)return0;p=p-next;return1;导弹学院数据结构课程结束考试卷(二)一、选择题(每题2分,共20分)1、若线性表最常用的操作是存取第i个元素及其前驱的值,则采用_D_存储方式最节省时间。A、单链表B、双链表C、单循环链表D、顺序表2、从1开始从上到下,从左至右对深度为5的完全二叉树进行连续编号,则编号为16的结点,其右孩子的编号为_D_。A、31 B、32 C、33 D、不存在3、在一个长度为n的顺序存储线性表中,向第i个元素(1in+1)之前插入一个新元素时,需要从后向前依次后移B个元素。A、n-i B、n-i+1 C、n-i-1 D、i4、用数组来表示图

10、的存储结构叫B。A、顺序存储结构B、数组表示法C、邻接表D、邻接矩阵5、下列排序算法中,_C_算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。A、堆排序B、冒泡排序C、快速排序D、希尔排序6、对有18个元素的有序表A118作折半查找,则查找A3需比较的元素的下标序列为_D_。A、1,2,3 B、9,5,2,3 C、9,5,3 D、9,4,2,37、设循环队列中数组的长度是n,其头尾指针分别为f和r,则其元素个数为_D_。A、r-f B、r-f+1 C、(r-f)%(n+1) D、(r-f+n)%n8、串是_D_。A、不少于一个字母的序列B、任意个字母的序列C、不少于一个字符的序列D

11、、有限个字符的序列9、在树中,互为兄弟的结点拥有相同的_A_。A、双亲B、子孙C、路径D、孩子10、若一棵二叉树具有10个度为2的结点,则该二叉树的度为0的结点个数是_B_。A、9 B、11 C、12 D、不确定二、判断题(每题1分,共10分)1、()二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。2、()在带头结点的单循环链表中,任一结点的后继指针均不空。3、()若一棵二叉树的任一非叶子结点的度为2,则该二叉树为满二叉树。4、()二叉树只能采用二叉链表来存储。5、()有向图用邻接矩阵表示后,顶点i的出度等于第i行中非0元素的个数。6、()图G的某一最小生成树的代价一定小于其它生成

12、树的代价。7、()在AOE-网中一定只有一条关键路径。8、()插入排序是稳定的排序方法。9、()单链表和顺序表执行插入和删除操作的时间复杂度都是O(n)。10、()在快速排序算法中,以待排序的n个记录中的第一个记录的关键字值为基准,将所有记录分为两组,该记录就在这两组的中间,这也是该记录的最终位置。三、填空(每题2分,共20分)1、在单链表中,删除指针P所指结点的后继结点的语句是_p-next=p-next-next_。2、已知完全二叉树的第八层有八个结点,则其叶子结点数是_68_。3、有三个结点的二叉树的不同型态有_5_种。4、有n个结点的二叉树,采用二叉链表作存储结构时,有_n1_个空链域

13、。5、有n个顶点的连通图G至少有_n1_条边。6、有向网的邻接矩阵表示中,计算顶点vi的入度的方法是_求邻接矩阵第i列非元素的个数_。7、有n个结点的完全二叉树的深度为_1_。8、折半查找适用于_顺序_存储结构的有序表。9、若用起泡排序对关键字序列18,16,14,12,10,8进行从小到大的排序,所要进行的关键字比较总次数为_15_。10、在直接插入排序和简单选择排序中,若初始关键字基本有序,则应选用_直接插入_排序。四、解答下列各题(每题7分,共35分)1、一棵二叉树的先序序列和中序序列分别如下,画出该二叉树。先序序列:abdegcf中序序列:dbgeacf2、对下面给出的权值序列,构造一

14、棵赫夫曼树,并求出其带权路径长度。4,5,6,7,10,12,15,18,23赫夫曼树:带权路径长度WPL445464741031231531832322993、对下列关键字序列,写出采用基数排序算法将其排列成非递减有序序列的每一趟结果。(60,44,55,61,202,39,86,150,04,28)初始关键字:60,44,55,61,202,39,86,150,04,28第一趟(按个位排序):60,150,61,202,44,04,55,86,28,39第二趟(按十位排序):202,04,28,39,44,150,55,60,61,86第三趟(按百位排序):04,28,39,44,55,6

15、0,61,86,150,2024、已知哈希表地址空间为08,哈希函数为H(key)=keymod8,采用线性探测再散列法处理冲突,将下面的关键字序列依次存入哈希表中。100,20,21,35,3,78,99,455、对下示有向图中,完成下列要求:(1)画出其相应的邻接表(邻接点由大到小排列)。123456(1)邻接表为(2)指出从顶点5出发的所有拓扑有序序列。(3)指出对应于邻接表,应得到的拓扑排序。(2)从顶点5出发的所有拓扑排序序列有:5,1,3,2,4,625,1,3,4,2,635,1,3,4,6,245,1,4,3,2,655,1,4,3,6,2(3)对应于邻接表,应得到的拓扑排序。

16、5,1,3,2,4,6五、算法设计(共15分)1、(8分)设计算法统计二叉树T中所有结点的总数C1和叶子结点的总数C2。void Count(BiTree BT,int C1,int C2)if (!BT)C1+; /统计所有结点数if (BT-lchild=NULLBT-rchild=NULL)C2+; /统计叶子结点数Count(BT-lchild,C1,C2);Count(BT-rchild,C1,C2);2、(7分)比较字符表A和B,并用返回值表示结果:值为正,表示AB;值为负,表示AB;值为零,表示A=B。/假设字符表A和B存储在顺序表中intListComp(SqListA,SqL

17、istB)for(i=1;A.elemi|B.elemi;i+)if(A.elemi!=B.elemi)returnA.elemi-B.elemi;return0;/ListComp导弹学院数据结构课程结束考试卷(三)一、单选题(每题2分,共20分)1.一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列?(C)A.1,3,2,4 B.2,3,4,1 C.4,3,1,2 D.3,4,2,12.下列排序方法中,哪一种方法的比较次数与记录的初始排列状态无关?(D)A.直接插入排序B.起泡排序C.快速排序D.简单选择排序3.对n个记录进行快速排序,平均时间复杂度为(A)A.O(n

18、logn)B.O(n2)C.O(logn)D.O(n)4.若一棵二叉树具有10个度为2的结点,则该二叉树的度为0的结点个数是(B)A.9 B.11 C.12 D.不确定5.有n个结点的完全二叉树的深度是(C)A、log2n B、log2n+1 C、1 D、下列说法中错误的是(B)A.n个结点的树的各结点度数之和为n-1 B.n个结点的无向图最多有n(n-1)条边C.用邻接矩阵存储图时所需存储空间大小与图的结点数有关,而与边数无关D.栈是后进先出的线性表7、任何一个连通图的最小生成树B。A、只有一棵B、有一棵或多棵C、一定有多棵D、可能不存在8、个不同的数据元素进行直接插入排序,最多需要进行(C

19、)次比较。A、B、C、4 D、9、在一个长度为n的顺序存储线性表中,删除第i个元素(1in)时,需要从前向后依次前移_A_个元素。A、n-i B、n-i+1 C、n-i-1 D、i10、一棵有层的满二叉树中结点总数为(A)。A、B、C、D、二、填空题(每题2分,共20分)1、在线性结构和图结构中,数据元素之间分别存在着一个对一个_和多个对多个的关系。2、从一个栈中删除元素时,首先移动指针(将指针减1),然后取出该元素。3、串的表示方法有_定长顺序存储表示_、_堆分配存储表示_和块链存储表示三种。4、直接插入排序的时间复杂度为O(n2)。5、先序遍历森林正好等同于先序(根)遍历对应的二叉树。6、

20、对于一个长度为n的单链表,在表头插入元素的时间复杂度为O(1),在表尾插入元素的时间复杂度为O(n)。7、对于一个具有n个顶点和e条边的无向图,在其对应的邻接表中,所含表结点为_2e_个。8、在一个大顶堆中,堆顶结点的值是所有结点中的_最大值_。9、以折半查找方法查找一个线性表时,此线性表必须是_最大值_存储结构的_有序_表。10、带权的图又称为网。三、判断题(每题2分,共10分)1、()只有最下面两层的结点的度数小于2的二叉树一定是完全二叉树。2、()n个结点的无向图,若它有n(n1)/2条边,则它一定是连通的。3、()栈和队列都是操作受限的线性表4、()邻接矩阵表示图所用的存储空间大小与图

21、的边数成正比。5、()赫夫曼树一定是满二叉树。四、简答、应用题(每题9分,共36分)1、以下面数据作为叶子结点的数值构造一棵赫夫曼树,并计算出其带权路径长度。6、7、8、9、10、18、20、222、已知待排序记录的关键字序列如下(72 73 71 23 94 16 05 68)请列出快速排序全过程。初始状态:(72 73 71 23 94 16 05 68)一次划分后68 05 71 23 167294 73分别快速排序16 05 236871 7394051623有序序列:(05 16 23 68 71 72 73 94)3、一个无向网的邻接矩阵如下:要求:(1)画出该无向网. (2)构造

22、对应的最小生成树。假设该无向网的顶点序列是v0,v1,v2,v3,v4,v5,v6最小生成树4、一棵二叉树的先序序列为ABCDEFGH,中序序列为CBEDAGFH,试构造此二叉树。五、算法设计题(每题7分,共14分)1、设计算法把链表hb接在链表ha后面形成链表hc。voidListConcat(LinkListha,LinkListhb,LinkListhc)/把链表hb接在ha后面形成链表hchc=ha;p=ha;while(p-next)p=p-next;p-next=hb;/ListConcat2、编写算法实现直接插入排序。导弹学院数据结构课程结束考试卷(四)一、单项选择题(每题2分,

23、共20分)1、一个栈的输入序列为12345,则下列序列中是栈的输出序列是_a_。a、2、3、4、1、5 b、5、4、1、3、2 c、3、1、2、4、5 d、1、4、2、5、32、若某线性表最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用下列_c_存储方式最节省时间。a、单链表b、双向链表c、带头结点的双向循环链表d、单循环链表3、二叉树有n个结点,则其深度为_d_。a、n b、+1 c、d、不确定4、带权有向图G用邻接矩阵A存储,则顶点i的出度等于A中a。a、第i行非的元素个数b、第i列非的元素个数c、第i行非0的元素个数d、第i列非0的元素个数5、下列排序算法中,在待排序

24、的数据表已经为有序时花费时间反而最多的是_a_。a、快速排序b、希尔排序c、冒泡排序d、直接插入排序6、下列排序算法中,_c_每一趟都能选出一个元素放在其最终位置上。a、归并排序b、希尔排序c、冒泡排序d、直接插入排序7、下列排序算法中,b是稳定的排序方法。a、希尔排序b、归并排序c、快速排序d、堆排序8、在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行c。a、p = q-next ; p-next = q-next; b、p =q-next; q-next=p;c、p = q-next ; q-next = p-next; d、q-next=q-next-next; q-ne

25、xt=q;9、有n个结点的二叉树若符合条件_d_则是完全二叉树。a、深度为+1 b、树的路径长度最短c、叶子只出现在最下面的两层上d、结点编号与满二叉树的前n个结点一一对应10、折半查找方法适用于_b_a、单链表的查找b、顺序表的查找c、双向链表的查找d、任意线性表的查找二、判断题(每题1分,共10分)1、()线性表的唯一存储形式是链表。2、()已知指针p指向链表L中的某结点,执行p=p-next语句不会删除这个链表中的结点。3、()在链队列中,即使不设置尾指针也能进行入队操作。4、()如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。5、()二叉树中的叶子结点就是二叉树中左、右子

26、树都为空的结点。6、()任一AOE网中最多只有一条关键路径。7、()若图G的最小生成树不唯一,则G的边数一定多于n-1(n为顶点数)。8、()当一个二叉树的结点数n=2k(k为大于0的整数)时,这个二叉树才有可能是满二叉树。9、()直接插入排序是一种稳定的排序方法。10、()二叉树的先序和后序序列不能唯一确定这棵二叉树。三、填空(每题2分,共20分)1、带头结点的单链表L为空表的条件是_L-next=NULL_。2、在双向链表中,在指针p所指结点前插入一个结点s的语句序列是: s-prior=p-prior; p-prior-next=s;s-next=p;_p-prior=s_。3、衡量算法

27、好坏的依据是_正确性、可读性、健壮性、效率和低存储量需求_。4、已知深度为7的完全二叉树,第7层上有10个叶子结点,则整个二叉树的结点数是_73_。5、有n个结点的二叉树的深度最多是_n_。6、在一个具有n个顶点的无向完全图中,包含有_n(n1)/2_条边7、已知二叉树有50个叶子结点,则该二叉树度为2的结点数是49。8、线性表的长度为n,则插入位置有n+1个。9、列出两种构造哈希函数的方法:_直接定址法、数字分析法、平方取中法、折叠法、除留余数法、随机数法六种方法中的任意两种_。10、假定一组记录的排序码为(46,79,56,38,40,80),对其进行起泡排序的过程中,第二趟排序的结果为_

28、46,38,40,56,79,80_。四、解答题(每题8分,共40分)1、已知二叉树的中序与后序遍历序列如下,构造此二叉树。中序:cbedahgijf后序:cedbhjigfa2、以下面数据做叶子结点的权值构造一棵赫夫曼树,并计算出其带权路径长度。5,6,7,8,9,10,15,18,224、答案:判定树:3、对下面数据表写出采用归并排序算法排序的每一趟的结果,(50,12,20,31,1,5,44,166,61,100,30)50,12,20,31,1,5,44,166,61,100,30)第一趟12,5020,311,544,16661,10030第二趟12,20,31,501,5,44,

29、16630,61,100第三趟1,5,12,20,31,44,50,16630,61,100第四趟1,5,12,20,30,31,44,50,61,100,1664、画出在递增有序表A121中进行折半查找的判定树。5、求出下图的所有拓扑有序序列,并指出哪一种是采用邻接表(邻接点由大到小排列)存储时拓扑排序算法的运行结果。五、算法设计(每题5分,共10分)1、设计算法在无头结点链表L的第i个元素之前插入元素b。StatusInsert(LinkListL,inti,intb)/在无头结点链表L的第i个元素之前插入元素bp=L;q=(LinkList*)malloc(sizeof(LNode);q

30、-data=b;if(i=1)q-next=p;L=q;/插入在链表头部elsewhile(-i1)p=p-next;q-next=p-next;p-next=q;/插入在第i个元素的位置/Insert2、编写算法实现顺序查找导弹学院数据结构课程结束考试卷(五)一、填空题(第2题和第8题各2分,其余每空1分,共24分)1在线性结构和树形结构中,数据元素之间分别存在着_一个对一个_和_一个对多个_的关系。2假定一组记录序列为46,79,56,38,40,84,则利用堆排序方法建立的初始大顶堆为_(84,79,56,38,40,46)_。3队列的插入操作在_队尾_进行,删除操作在_队头_进行。4向

31、一个顺序栈插入一个元素时,首先把待插入元素_插入(赋值)_到这个位置上,然后使_指针_后移一个位置。5串的表示方法主要有_定长顺序存储表示_、_堆分配存储表示_和_块链存储表示_三种。6从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明_查找成功_;若元素的值小于根结点的值,则继续向_左子树_查找,若元素的大于根结点的值,则继续向_右子树_查找。7对于下面图1所示的无向图,从顶点A开始进行深度优先搜索遍历得到的顶点序列之一为_A,B,E,C,D,F_,从顶点A开始进行广度优先搜索遍历得到的顶点序列之一为_A,B,C,D,E,F_。8对于下面图2所示的AOE-网,_V0,V1,V

32、5,V2,V3,V6,V4_是它的一个拓扑有序序列。9.对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为_n_和_n-1_。10以折半查找方法查找一个线性表时,此线性表必须是_顺序_存储的_有序_表。11每次从无序表中取出一个元素,把它插入到有序表中的适当位置,此种排序方法叫做_插入_排序;每次使两个相邻的有序表合并成一个有序表的排序方法叫做_归并_排序。二、判断题(每题1分,共10分)1.()线性表采用链式和顺序存储方式存储,执行插入和删除操作的时间复杂度都是(n)。2.()二叉树中的叶子结点就是二叉树中左、右子树都为空的结点。3()在AOE-网中一定只有一条关键路径。4

33、.()栈和队列都是操作受限的线性表。5.()在一个有向图的邻接表或逆邻接表中,如果某个顶点的链表为空,则该顶点的度一定为0。6.()在索引顺序表的查找中,对索引表既可采用顺序查找方法,也可采用折半查找方法。7.()在快速排序算法中,以待排序的n个记录中的第一个记录的关键字值为基准,将所有记录分为两组,该记录就在这两组的中间,这也是该记录的最终位置。8.()当一个二叉树的结点数n=2k(k为大于0的整数)时,这个二叉树才有可能是满二叉树。9.()基数排序是一种不稳定的排序方法。10、()在循环队列中,若尾指针Rear大于头指针Front,则其元素数为Rear-Front。三、选择题(每题2分,共

34、20分)1在一个长度为n的顺序存储线性表中,向第i个元素(1in+1)之前插入一个新元素时,需要从后向前依次后移B个元素。A、n-i B、n-i+1 C、n-i-1 D、i2在一个单链表HL中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行D。A、q-next = p-next ; p-next = q; B、p-next=q-next; q=p;C、q-next=p-next; p-next=q-next; D、p-next=q-next; q-next=p;3串的长度是D。A、串中不同字母的个数B、串中不同字符的个数C、串中所含字符的个数,且大于0 D、串中所含字符的个数4

35、有64个结点的完全二叉树的深度为B。A、8 B、7 C、6 D、55用数组来表示图的存储结构叫_B_。A、顺序存储结构B、数组表示法C、邻接表D、邻接矩阵6对有18个元素的有序表A118作折半查找,则查找A3需比较的元素序列下标为_D_。A、1,2,3 B、9,5,2,3 C、9,5,3 D、9,4,2,37用某种排序方法对记录序列25,84,21,47,15,27,68,35,20进行排序时,记录序列的变化情况如下:(1)25,84,21,47,15,27,68,35,20(2)20,15,21,25,47,27,68,35,84(3)15,20,21,25,35,27,47,68,84(4

36、)15,20,21,25,27,35,47,68,84则所采用的排序方法是_D_。A、选择排序B、希尔排序C、归并排序D、快速排序8一个栈的输入序列为12345,则下列序列中不可能是栈的输出序列是D。A、12345 B、54321 C、23451 D、412359链表不具有的特点是A。A、可随机访问任一元素B、插入、删除操作不需要移动元素C、不必事先估计存储空间D、所需空间与线性表长度成正比10将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点为1,则编号为49的结点的左孩子编号为A。A、98 B、99 C、50 D、48四、算法填空题,在画有横线的地方

37、填写合适的内容(6分)在有序表ST中折半查找其关键字等于key的数据元素的算法,若找到,则函数值为该元素在表中的位置,否则为0。int Search_Bin(SSTable ST,KeyType key)low=1;high=ST.length;while (low=high)mid=(low+high)/2;if(EQ(key,ST.elemmid.key)_return mid;;elseif(LT(key,ST.elemmid.key)high=mid-1;elselow=mid+1;return 0;/Search_Bin1、二叉树:对应的二叉链表:五、解答题(每题8分,共40分)1一

38、棵二叉树的先序序列为ABCDEFGH,中序序列为CBDAFEHG,试构造此二叉树,并画出它所对应的二叉链表。22、用起泡排序算法,对关键字序列(46,32,55,81,65,11,25,43)按从小到大的次序进行排列,写出每趟排序的结果。(46,32,55,81,65,11,25,43)第一趟32,46,55,65,11,25,43,81第二趟32,46,55,11,25,43,65第三趟32,46,11,25,43,55第四趟32,11,25,43,46第五趟11,25,32,43第六趟11,25,323.一个无向网的邻接矩阵如下:要求:(1)画出该无向网。(2)利用克鲁斯卡尔算法构造相应的

39、最小生成树。假设该无向网的顶点序列是v0,v1,v2,v3,v4,v5,v6利用克鲁斯卡尔算法构造的最小生成树:4假设有一份电文共使用了八种字符:a、b、c、d、e、f、g、h,这8种字符在电文中出现的概率分别为0.07、0.19、0.02、0.06、0.32、0.03、0.21、0.10,请构造相应的赫夫曼树,并求出每个字符的赫夫曼编码。5设有一组关键字19,01,23,14,55,20,84,27,68,11,采用哈希函数H(key)=key%13,并用开放定址法的线性探测再散列处理冲突,试在0-12的散列地址空间中对该关键字序列构造哈希表。字符赫夫曼编码a 1110b 00c 11010d 1100e 10f 11011g 01h 11114、设这8种字符的权值分别是7、19、2、6、32、3、21、10导弹学院数据结构课程结束考试卷(六)一、选择题(每题2分,共20分)1、下面程序段的时间复杂度为_C_。for(inti=0;im;i+)for(intj=0;jn;j+)aij=i*j;A、O(m2) B、O(n2) C、O(mn) D、O(m+n)2、在一个长度为n的顺序存储线性表中,向第i个元素(1in)之前插入一个新元素时,需要从后向前依次后移B个元素。A、n-i B、n-i+1 C、n-i-1 D、i3、在一个带头结点的单链表HL中,若要向表头插入一个由指针p

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报