您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 数据结构期末考试试题
1.线性链表不具有的特点是()。A.随机访问B.不必事先估计所需存储空间大小C.插入与删除时不必移动元素D.所需空间与线性表长度成正比2.设一个栈的输入序列为1,2,3,4,则输出序列不可能是()。A.1,2,3,4B.4,3,2,1C.1,3,2,4D.4,1,2,33.下列排序算法中,()排序在每趟结束后不一定能选出一个元素放到其排好序的最终位置上。A.归并B.冒泡C.选择D.堆4.下列序列中,()是执行第一趟快速排序后得到的序列(排序的关键字类型是字符串)。A.[da,ax,eb,de,bb]ff[ha,gc]B.[cd,eb,ax,da]ff[ha,gc,bb]C.[gc,ax,eb,cd,bb]ff[da,ha]D.[ax,bb,cd,da]ff[eb,gc,ha]5.设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中()位置。A.32B.33C.41D.656.下面哪一种图的邻接矩阵肯定是对称矩阵()。A.有向图B.无向图C.AOV网D.AOE网7.具有2008个结点的二叉树,其深度至少为()。A.9B.10C.11D.128.关键路径是边表示活动的网(AOE网)中的()。A.从源点到汇点的最长路径B.从源点到汇点的最短路径C.最长的回路D.最短的回路9.一个广义表为(a,(a,b),d,e,((i,j),k)),则该广义表的长度为()。A.不确定B.8C.5D.610.设循环队列中数组的下标范围是0~n–1,其头尾指针分别为f和r,则其元素个数为()。A.r–fB.r–f+1C.(r–f)modn+1D.(r–f+n)modn1.算法具有的五个重要特性是:有穷性,确定性,_______,输入和输出。2.一组记录的关键字为(45,80,55,40,42,85),则利用堆排序的方法建立的初始堆为____________。3.对如下无向图G,从结点V1出发,写出一个按深度优先遍历图的结点序列:__________________。○1○2○5○3○4第3题图○6第4题图4.写出右上图中的一个拓扑有序序列____________________。5.对于顺序存储的线性表,访问结点和删除结点的时间复杂度分别为_____________。6.平衡二叉树上所有结点的平衡因子只可能是________________。7.假定对线性表R[1..60]进行分块查找,共分为10块,每块长度等于6。若假定查找索引表和块均用顺序查找的方法,则查找每一个元素的平均查找长度为___________。8.将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为37的双亲结点编号为_______。9.设有一个字符串s=’science’,其非空子串的数目是________。10.有n个顶点的强连通有向图G至少有________条弧。1.一棵二叉树的先序序列和中序序列分别如下,先序序列:ABCDEFGHIJ中序序列:CBDEAGIHJF(1)画出该二叉树。(3分)(2)写出其后序序列。(3分)2.给出用Kruskal算法构造下列带权图的最小生成树的过程。3154341623.已知一个长度为12的表(6,8,4,12,2,10,7,3,9,1,11,5)。(1)将表中的元素依次插入到一个初始为空的二叉排序树中,画出该二叉排序树并求其在等概率下的平均查找长度。(3分)(2)若先对表中的记录排序,构成有序表后再对其进行折半查找,画出判定树并求其在等概率下的平均查找长度。(3分)4.已知哈希表地址空间为0..10,哈希函数为H(key)=keyMOD11,采用链地址法处理冲突,将下面数据序列依次插入该哈希表中,并求出在等概率下查找成功时的平均查找长度。12,24,1,34,38,44,27,22。5.假定用于通信的电文仅由8个字母a,b,c,d,e,d,f,g,h组成,各个字母在电文中出现的频率分别为5,23,3,6,10,11,36,4。要求:(1)以这些频率作为叶子结点的权值构造Huffman树。(2分)(2)试为这8个字母设计不等长Huffman编码。(2分)V2V1V3V6V4V5V2V1V3V4V5V6V7V8Abcdefgh(3)计算出电文总长度。(2分)1.有两个不带头结点的单循环链表,链表头指针分别为a和b。编写一个过程将链表b链到链表a之后,链接后的链表仍保持循环链表形式。2.试编写一个计算二叉树的叶子结点数的算法。要求二叉树采用链式存储结构。3.请写出监视哨设在高下标端的插入排序算法。0621.具有n(n0)个结点的完全二叉树的深度为()A.log2nB.log2nC.log2n+1D.log2n+12.一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是()A.abcdeB.edcbaC.decbaD.dceab3.数据在计算机存储器内表示时,物理地址与逻辑地址相同且连续,称之为()A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构4.对二叉排序树的左子树中所有结点与右子树中所有结点的关键字大小关系是()A.小于B.大于C.等于D.不小于5.按照二叉树的定义,具有3个节点的二叉树______种()A.2B.3C.4D.56.广义表((a))的表尾是()A.aB.(a)C.()D.((a))7.设有两个串p和q,求在q在p中首次出现的位置的运算称为()A.模式匹配B.连接C.求子串D.求串长8.引入二叉线索树的目的是()A.加快查找结点的前驱或后继的速度B.为了能在二叉树中方便的进行插入与删除C.为了能方便的找到双亲D.使二叉树的遍历结果唯一9.在有n个叶子结点的哈夫曼树中,其结点总数为A.不确定B.2n-1C.2nD.2n+110.与单链表相比,双向链表的优点之一是A.插入、删除更简单B.可以进行随机访问C.可以省略表头指针或表尾指针D.访问前后相邻结点更方便1.Prim算法适合求__________的网的最小生成树,而Kruskal算法适用于求___________的网的最小生成树。2.循环单链表L为空的条件是________________。3.在对队列中,新插入的元素只能插入到___________。4.平衡二叉树上所有结点的平衡因子只可能是________________。5.一个有序表{1,3,9,12,32,41,45,62,75,77,82,95,99},当采用折半查找法查找关键字为82的元素时,_______________次比较后查找成功。6.设二维数组A[6][10],每个数组元素占4个存储单元,若按行优先顺序存放数组元素,A[0][0]的存储地址是860,则A[3][5]的存储地址是_______________。7.可以进行拓扑排序的一定是______________。8.求单链表长度算法的时间复杂度是________。9.在直接插入排序、希尔排序、直接选择排序、快速排序、堆排序和归并排序中,平均比较次数最少的排序方法是________________。1.已知一个二叉树的中序遍历序列为DGBAECF,后序遍历序列为GDBEFCA,请给出:(3)画出该二叉树。(3分)(4)写出其后序序列。(3分).对关键字序列{11,78,10,1,3,2,4,21}构造哈希表,取散列地址为HT[0..10],散列函数为H(K)=K%11,试用线性探查法冲突,画出相应的哈希表,并分别求查找成功和不成功时的平均查找长度。3.已知关键字序列{503,87,512,61,908,170,897,275,653,462},采用快速排序算法对该序列作升序排序时的每一趟的结果。4.从一棵空树开始,逐个读入并插入下列关键字:{40,28,6,72,100,3,54,1,80,91,38}请首先建立二叉排序树,然后删除节点72,并给出删除节点72后的二叉树。5.给定权集W={2,3,4,7,8,9},试构造关于W的一棵哈夫曼树,并求带权路径长度WPL。1.有一个有序单链表(从小到大排序),表头指针为L,设计一个算法向该单链表中插入一个元素为x的结点,并使插入后链表仍然有序。2.二叉树采用链式存储结构,试编写算法求二叉树的深度。3..二叉树采用链式存储结构,试设计一个按层次顺序(同层自左向右)遍历二叉树的算法。答案A一、选择题(每小题2分,共20分)1.A2.D3.A4.A5.C6.B7.C8.A9.C10.D二、填空题(每小题2分,共20分)1.可行性2.(85,80,55,40,42,45)3.V1,V2,V3,V5,V4,V6,V7,V8(答案不惟一)4.1,2,3,5,6,4(答案不惟一)5.O(1)和O(n)6.–1,0,17.98.189.2610.n三、解答下列各题(每小题6分,共30分)1.该二叉树为(3分):ABFCDGEHIJ后序序列:CEDBIJHGFA(3分)2.V1V2V1V2V1V2111V3V6V3V6V3V611V4V5V5V42V5(2分)(1分)(1分)V13V2V13V2114V3V6V3V611V42V5V42V5(1分)(1分)3.(1)二叉排序树为:648257121310911(2分)等概率下平均查找长度ASL=(1+2*2+3*4+4*3+5*2)/12=13/4=3.25(1分)(2)排序后进行折半查找的判定树为:639147112581012(2分)等概率下平均查找长度ASL=(1+2*2+3*4+4*5)/12=37/123.08(1分)第1页(共3页)4.哈希函数值为:(1分)H(12)=1H(24)=2H(1)=1H(34)=1H(38)=5H(44)=0H(27)=5H(22)=0哈希表为:(3分)022441112342243452738678910平均查找长度ASL=(1×4+2×3+3×1)/8=13/8=1.625(2分)5.(1)Huffman树为:(2分)9839591722233671011113456(2)其huffman编码为(2分)注:此题答案不唯一,只要满足哈夫曼编码的要求都可。abcdEfgH01001000000101001011110001(3)电文总码数为4*5+2*23+4*3+4*6+3*10+3*11+2*36+4*4=253(2分)四、算法设计(每小题10分,共30分)说明:每小题中:1.思路正确3分2.算法正确5分3.算法完整2分(1)typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;voidConnect(LinkLista,LinkListb){//将循环链表b链在循环链表a之后的算法,链表a和b均不带头结点LinkListp;p=a;//先令指针p指向链表a的第一个结点while(p-nexta)p=p-next;//找到链表a的最后一个结点p-next=b;//将链表b链到a的最后一个结点之后第2页(共3页)p=b;//令指针p指向链表b的第一个结点while(p-nextb)p=p-next;//找到链表b的最后一个结点p-next=a;//令链表b的最后一个结点指向合并后的链表的表头}(2)TypedefstructBiTNode{TelemTypedata;StructBiTNode*lchild,*rchild;}BiTNode,*BiTree;voidleaf(BiTreeT){//采用二叉链表存贮二叉树,n为全局变量,用于累加二叉树的叶子结点//的个数。本算法在先序遍历二叉树的过程中,统计叶子结点的个数//第一次被调用时,n=0if(T){//若二叉树为空,结束返回//若二叉树不为空,在先序遍历二叉树的过程中,统计叶子结点的个数if(T-lchild==null&&T-rchild
本文标题:数据结构期末考试试题
链接地址:https://www.777doc.com/doc-4661572 .html