数据结构期末复习题_第1页
数据结构期末复习题_第2页
数据结构期末复习题_第3页
数据结构期末复习题_第4页
数据结构期末复习题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

练习题:一、填空题1、元素项是数据的最小单位, 数据元素是讨论数据结构时涉及的最小数据单位。2、设一棵完全二叉树具有 100个结点,则此完全二叉树有 49个度为2的结点。3、在用于表示有向图的邻接矩阵中,对第i列的元素进行累加,可得到第 i个顶点的电度。4、已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树中有乌个叶子的结点。n=n0+n1+n2+…+nm⑴又有除根结点外,树中其他结点都有双亲结点,且是唯一的(由树中的分支表示,所以,有双亲的结点数为:1n-1=0*n0+1*n1+2*n2+…+m*nm(2)联立(1)(2)方程组可得:叶子数为:n0=1+0*n1+1*n2+2*n3+...+(m-1)*nm5、有一个长度为20的有序表采用二分查找方法进行查找,共有 4个元素的查找长度为3。6、对于双向链表,在两个结点之间插入一个新结点需要修改的指针共 4个。删除一个结点需要修改的指针共 2_个。7、已知广义表LS=(a,(b,c,d),e) ,它的深度是2,长度是3。8、循环队列的引入是为了克服假溢出。9、表达式a*(b+c)-d/f 的后缀表达式是abc+*df/-。10、数据结构中评价算法的两个重要指标是 时间复杂度和空间复杂度。11、设r指向单链表的最后一个结点,要在最后一个结点之后插入 s所指的结点,需执行的三条语句是r->next=s;r=s;r->next=null;12、设有一个空栈,栈顶指针为1000H(十六进制),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUS由,输出序列是23,而栈顶指针值是1012H设栈为顺序栈,每个元素占4个字节。13、模式串P='abaabcac'的next函数值序列为01122312。14、任意连通图的连通分量只有一个,即是曳圭。15、栈的特性是先进后出。16、串的长度是包含的元素个数。17、如果一个有向图中没有也,则该图的全部顶点可能排成一个拓扑序列。18、在具有n个叶子结点的哈夫曼树中,分支结点总数为 n1。17619、在线性表的散列存储中, 装填因子 又称为装填系数,若用m表示散列表的长度,n表示待散列存储的元素的个数,则 等于n/mo20、排序的主要目的是为了以后对已排序的数据元素进行 查找。21、对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为 O(1),在给定值为TOC\o"1-5"\h\zx的结点后插入一个新结点的时间复杂度为 O(n)o22、线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是 n/2_o23、两个栈共享空间时栈满的条件 top1=top2-1。24、深度为H的完全二叉树至少有 H个结点;至多有 2人斗1个结点;H和结点总数 N之间的关系是H=[log2n]+1 。15025、在有序表A[1…20]中,按二分查找方法进行查找, 查找长度为4的元素的下标从小到大依次是 13681113161926、设查找表中有100个元素,如果用二分法查找方法查找数据元素 X,则最多需要比较二次就可以断定数据元素X是否在查找表中。

26、数据结构被形式地定义为(D,R),其中D和R的含义是(D是数据元素的集合,R是数据关系的集合)。数据的逻辑结构包括哪四种类型( 集合类型,线性结构,树形结构,图状结构 )。从存储结构的概念上讲,顺序表是线性表的(顺序存储结构),链表是(链式存储结构)。3。K抽象数据类型是指一个(数学(包括对角上元素)存放在3。K抽象数据类型是指一个(数学(包括对角上元素)存放在n(n+1)27、算法的五个重要特性有哪些。 (有穷性、确定性、可行性、输入、输出模型)以及定义在该模型上的(一组操作)。28、设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的元素个连续的存储单元中,则A[i][j]与A[0][0]之间有((i+1)*i/2+j 个数据元素。29、栈的插入和删除只能在栈的栈顶进行,后进栈的元素必定先出栈,所以又把栈称为 FILO;队列的插入和删除运算分别在队列的两端进行,先进队列的元素必定先出队列,所以又把队列称为 FIFO表。30、设一棵完全二叉树的顺序存储结构中存储数据元素为 ABCDEF则该二叉树的前序遍历序列为 ABDEF中序遍历序列为DBEAFC后序遍历序列为DEBFCA31、如果以链栈为存储结构,则出栈操作时(必须判别栈是否空),与顺序栈相比,链栈有一个明显的优势是(通常不会出现栈满的情况)。32、循环队列采用数组data[1..n]来存储元素的值,并用front和rear分别作为其头尾指针。为区分队列的满和空,约定:队中能够存放的元素个数最大为 n-l,也即至少有一个元素空间不用,则在任意时刻,至少可以知道一个空的元素的下标是( front);入队时,可用语句(rear=rear+1%n)求出新元素在数组data中的下标。33、设一棵完全二叉树有128个结点,则该完全二叉树的深度为 8,有65个叶子结点。33、已知栈的输入序列为 1,2,3…,n,输出序列为a1,a2,…,an,a2=n的输出序列共有(n-1)种输出序列。34、设有向图G的存储结构用邻接矩阵 A来表示,则A中第i行中所有非零元素个数之和等于顶点 i的出度,第i列中所有非零元素个数之和等于顶点 i的入度。35、将下三角矩阵A[l..8,1..8]的下三角部分逐行地存储到起始地址为 1000的内存单元中,已知每个元素占4个单元,则A[7,5]的地址为 (1100)。36、已知数组A[1..10,1..10]为对称矩阵,其中每个元素占 5个单元。现将其下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素 A[5,6]对应的地址为(1095)。37、两个串相等的充要条件是,两个串的 (长度)相等,且其所对应各个位置的(字符)也相等。39、在有n个结点的二叉链表中,值为非空的链域的个数为( n-1)。在有n个叶子结点的哈夫曼树中,总结点数是(2n-1)。在树形结构中,根结点数只有(1),其余每个结点有且仅有一个(前驱)元素结点。40、一棵二叉树L的高度为h,所有结点的度或为 0,或为2,则这棵二叉树最少的结点数为 (2h-1)。已知二叉树有50个叶子结点,则该二叉树的总结点数至少是( 99)。将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为 1,则编号为49的结点的左孩子编号为(98)。有64个结点的完全二叉树的深度为(7)。41、拓扑排序只能用于(有向无环图)。连通图是指图中任意两个顶点之间( 都连通的无向图)。一个有n个顶点的无向连通图,它所包含的连通分量个数最多为 (1)个。任何一个无向连通图的最小生成树 (有一棵或多棵)。若含有n个顶点的图形成一个环,则它有( n)棵生成树。42、求图的最小生成树有两种算法, (普利姆)算法适合于求稠密图的最小生成树, (克鲁斯卡尔)算法适合于求稀疏图的最小生成树。设图 G用邻接表存储,则拓扑排序的时间复杂度为 (O(n+e))。44、从未排序序列中依次取出元素与已排序序列 (初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为(插入排序)。对于关键字序列(12,13,11,18,60,15,7,18,25,100),用筛选法建堆,则开始结点的键值必须为( 60)。33、typedefstructnode{intkey;structnode*lchild;structnode*rchild;}bitree;bitree*bstsearch(bitree*t,intk)if(t==0)return(0);elsewhile(t!=0)if(t->key==k)t->lchild=t->rchild=0;elseif(t->key>k)t=t->lchild; elset=t->lchild;;}34、下面程序段的功能是实现冒泡排序算法,请在下划线处填上正确的语句。voidbubble(intr[n])272{for(i=1;i<=n-1;i++){for(exchange=0,j=0;j<n-i;j++)if(r[j]>r[j+1]){temp=r[j+1];__巾尸巾+1]_;r[j]=temp;exchange=1;}if(exchange==0)return;}}35、下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。structrecord{intkey;intothers;};intbisearch(structrecordr[],intk){intlow=0,mid,high=n-1;while(low<=high){mid=(low+high)/2;if(r[mid].key==k)return(mid+1);elseif(r[mid].key<k)high=mid-1;elselow=mid+1;}return(0);}36、设二叉树中度数为0的结点数为50,度数为1的结点数为30,则该二叉树中总共有129个结点数。15137、设有向图G的二元组形式表示为G=(D,R),D={1,2,3,4,5},R={r},r={<1,2>,<2,4>,<4,5>,<1,3>,<3,2>,<3,5>},则给出该图的一种拓扑排序序列 13245q38、设一组初始记录关键字序列为 (49,38,65,97,76,13,27,50),则以d=4为增量的一趟希尔排序结束后的结果为4913275076386597 。39、设二叉排序树的高度为 h,则在该树中查找关键字 key最多需要比较h_次.二、选择题1、从逻辑上可以把数据结构分为(C)两大类。A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构D,初等结构、构造型结构2、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(C)(1<=i<=n+1)。A.O(0)B.0(1)C.O(n)D.O(n 2)3、若已知一个栈的入栈序列是 1,2,3,…,n,其输出序列为p1,p2,p 3,…,pN,若pN是n,则pi是(A)。A.i B.n-iC.n-i+1D. 不确定4、已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是(D)。A.head(tail(tail(L)))B.tail(head(head(tail(L))))C.head(tail(head(tail (L))))D.head(tail(head (tail(tail(L)))))5、下列陈述中正确的是( D)。A.二叉树是度为2的有序树 B.二叉树中结点只有一个孩子时无左右之分C.二叉树中必有度为 2的结点D.二叉树中最多只有两棵子树,并且有左右之分6、设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为 n,森林F中第一棵树的结点个数是(A)。173A.m-nB.m-n-1C.n+1D.条件不足,无法确定.算术表达式 a+b*(c+d/e)转为后缀表达式后为(B)。A.ab+cde/*B.abcde/+*+C.abcde/*++D.abcde*/++8、关键路径是事件结点网络中( A)。A.从源点到终点的最长路径 B.从源点到终点的最短路径C.最长回路 D .最短回路9、具有 12个关键字的有序表,二分查找的平均查找长度(C)。236A.2.5B.4C.D.5AVL树是一种平衡的二叉排序树,树中任一结点的( B)245A.左、右子树的高度均相同B.左、右子树高度差的绝对值不超过 1C.左子树的高度均大于右子树的高度 D.左子树的高度均小于右子树的高度11、线性表采用链接存储时,其地址( D)。A.必须是连续的B.部分地址必须是连续的C.一定是不连续的 D. 连续与否均可以12、栈和队列是两种特殊的线性表,只能在它们的( B)处添加或删除结点。A.中间点B.端点C.随机存取点 D.结点13、输入序列为ABC可以变为BAC时,经过的栈操作为(C)。A.push,pop,push,pop,push,popB.push,push,push,pop,pop,popC.push,push,pop,pop,push,popD.push,pop,push,push,pop,pop14、下面( C)不是算法所具有的特性。A.有穷性B.确切性C.高效性D.可行性15、下面关于串的的叙述中, (B)是不正确的A.串是字符的有限序列 B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储16、数组 A[6][7]的每个元素占五个字节,将其按行优先次序存储在起始地址为1000的内存单元中,则元素A[3][5]的地址是(A)。117A.1130B.1180C.1205D.121017、对于一个具有 n个顶点的无向图,若采用邻接矩阵存储,则该矩阵的大小是(D)。195A.nB.(n-1)2C.n-1D.n218、若广义表 A满足Head(A)=Tail(A),则A为(B)。A.()B.(())C.((),())D.((),(),())19、堆的形状是一棵 (C)。A.二叉排序树 B.满二叉树 C.完全二叉树 D.判定树20、若要在单链表中的结点 *p之后插入一个结点*s,则应执行的语句是 (A)A.s->next=p->next;p->next=s;B.p->next=s;s->next=p->next;C.p->next=s->next;s->next=p;D.s->next=p;p->next=s->next;21、链表不具有的特点是(B)。A.插入、删除不需要移动元素 B.可随机访问任一元素

C.不必事先估计存储空间 D.所需空间与线性长度成正比22、一个栈的输入序列为 12345,则下列序列中不可能是栈的输出序列的是(B)。A.23415B.54132C.23145D.1543223、递归过程或函数调用时,处理参数及返回地址,要用一种称为( C)的数据结构。A.队列B.多维数组 C.栈D. 线性表TOC\o"1-5"\h\z24、设给定权值总数有 n个,其哈夫曼树的结点总数为 (D)。A.不确定B.2nC,2n+1D.2n-125、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( C)。课件106 107A.快速排序 B.堆排序 C.归并排序 D.直接插入排序26、设有一个二维数组 A[m][ n] ,假设 A[0][0] 存放位置在 644(10) , A[2][2] 存放位置在 676(10) ,每个元素占一个空间,问A[3][3](10)存放在什么位置脚注(10)表示用10进制表示。(C)A.688B.678C.692D.696若有18个元素的有序表存放在一维数组A[19]中,第一个元素放 A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为(D)A.1 ,2,3 B.9, 5, 2, 3C.9 ,5,3 D.9, 4, 2, 328、设一组初始记录关键字序列 (5,2,6,3,8),以第一个记录关键字 5为基准进行一趟快速排序的结果为C)。(B)3,2,5,8,6(D)(B)3,2,5,8,6(D)2,3,6,5,8(C)3,2,5,6,829、设指针变量 p指向单链表中结点A,若删除单链表中结点 A,则需要修改指针的操作序列为(29、设指针变量 p指向单链表中结点A,若删除单链表中结点 A,则需要修改指针的操作序列为(A)。Aq=p->next;p->data=q->datap->next=q->nextBq=p->next;q->data=p->datap->next=q->nextfree(q);free(q);Cq=p->next;p->next=q->nextfree(q)Cq=p->next;p->next=q->nextfree(q);Dq=p->next;p->data=q->datafree(q);30、设某二叉树中度数为030、设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是(C)。A.N0=N1+1B.N0=Nl+N2C.N0=N2+1D.N0=2N1+l31、设一棵m31、设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,,度数为m的结点数为Nm则N0=(B)。A.N1+N2+……+Nm B.1+N2+2N3+3N4+……+(m-1)NmC.N2+2N3+3N4+……+(m-1)NmD.2N1+3N2+ ……+(m+1)Nm32、设无向图G中的边的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发进行深度优先遍历可以得到的一种顶点序列为(A)。A.aedfcbB.acfebd C.aebcfdD.aedfbc26、某二叉树的先序序列和后序序列正好相反,则该二叉树的特点一定是( BB)。A.空或只有一个结点B.高度等于其结点数 C.任一结点无左孩子 D.任一结点无右孩子TOC\o"1-5"\h\z28、下面的说法中正确的是( B)。任何一棵二叉树的叶子节点在三种遍历中的相对次序不变。按二叉树定义,具有三个节点的二叉树共有 6种。A.(1),(2)B.(1)C.(2)D.(1),(2)都错29、树有先根遍历和后根遍历,树可以转化为对应的二叉树。下面的说法正确的是( B)。A.树的后根遍历与其对应的二叉树的后根遍历相同B.树的后根遍历与其对应的二叉树的中根遍历相同

C.树的先根遍历与其对应的二叉树的中根遍历相同D.以上都不对.下图的邻接表中,从顶点V1出发采用深度优先搜索法遍历该图,则可能的顶点序列是 (D)。A.V1V2V3V4V5B.V1V2V3V5V4C.V1V4V3V5V231、以下说法不正确的是( D)。A.无向图中的极大连通子图称为连通分量B.连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点C.图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点D.有向图的遍历不可采用广度优先搜索32、设哈希表长为 14,哈希函数 H(key)=key%11,表中已有数据的关键字为15,38,61,84,四个,现将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是(DD)。A.8B.3C.5D.934、二维数组A的每个元素是由6个字符组成的串,其行下标 i=0,1,…,8,列下标为j=1,2.….10。设每个字符占一个字节 ,若按行先存储,元素 A[8,5]的起始地址与A按列存储时起始地址相同的元素是(B)。A.A[8,5]B.A[3,10]C.A[5,8]D.A[0,9].在n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为(B)。A.O(n)B.O(1og 2n)C.O(n1og 2n)D.O(n2)37、关键路径是事件结点网络中(AA)。A.从源点到汇点的最长路径 B.从源点到汇点的最短路径C.最长的回路 D.最短的回路38、将两个各有 n个元素的有序表归并成一个有序表,其最少的比较次数是(AA)。A.nB.2n-1C.2nD.n-141、有向图41、有向图G用邻接矩阵A存储,则顶点i的入度等于 A中(BB)。A.第i行1的元素之和 B.第i列1的元素之和C.第C.第i行0的元素个数 D.列0的元素个数42、用某种排序方法对关键字序列(如下:201520,21,25,35,27,4742、用某种排序方法对关键字序列(如下:201520,21,25,35,27,47,68,841520,21,25,27,35,47,68,84则所采用的排序方法是(DD)A.选择排序B.希尔排序43、设一组初始关键字记录关键字为C.归并排序 D.快速排序(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为 (AA)。10,15,14,18,20,36,40,2110,15,14,18,20,40,36,2125,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况15,21,25,47,27,68,35,8410,15,14,20,18,40,36,2115,10,14,18,20,36,40,2144、设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映射到44、设有n个关键字具有相同的次线性探测。A.nB.n(n+1) C.n(n+1)/2D.n(n-1)/2A.n三、判断题

1.如果两个串含有相同的字符,则这两个串相等。(x)2.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。(x)3.二叉树是度为2的树。(x)4.在顺序表中取出第 i个元素所花费的时间与i成正比。(x)TOC\o"1-5"\h\z5.在栈满情况下不能作进栈运算,否则产生“上溢”。 (v)6.图G的生成树是该图的一个极小连通子图。(v)7.所谓数据的逻辑结构指的是数据之间的逻辑关系。(x)数据项8.二叉排序树的查找和折半查找的时间性能相同。 (x)9.在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的。(x)10.一个有向图的邻接表和逆邻接表中表结点的个数一定相等。 (v)11、双向链表中至多只有一个结点的后继指针为空。(v)rear指向实际的队尾元素,队列为满的条件)(vrear指向实际的队尾元素,队列为满的条件)(v)是front=rear。(x)13、对链表进行插入和删除操作时,不必移动结点。 (v14、栈可以作为实现程序设计语言过程调用时的一种数据结构。15、在一个有向图的拓朴序列中,若顶点a在顶点b之前,则图中必有一条弧 <a,b>(x15、在一个有向图的拓朴序列中,若顶点16、对有向图G,如果从任一顶点出发进行一次深度优先或广度优先搜索就能访问每个顶点,则该图一定是完全图。(x)17、“顺序查找法”是指在顺序表上进行查找的方法。(x)TOC\o"1-5"\h\z18、向二叉排序树插入一个新结点时,新结点一定成为二叉排序树的一个叶子结点。 (v)19、二分查找要求序列顺序存储且关键字序列有序。 (v)20、二路归并时,被归并的两个子序列中的关键字个数一定要相等。 (x)21.调用一次深度优先遍历可以访问到图中的所有顶点。(x)21.分块查找的平均查找长度不仅与索引表的长度有关,而且与块的长度有关。(v)22.冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。 (v)23.满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。 (v)24.设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。 (x)25.层次遍历初始堆可以得到一个有序的序列。 (x)26.设一棵树T可以转化成二叉树 BT,则二叉树BT中一定没有右子树。(v)27.线性表的顺序存储结构比链式存储结构更好。 (x)28.中序遍历二叉排序树可以得到一个有序的序列。 (v)29.快速排序是排序算法中平均性能最好的一种排序。(v)30.不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。 (v)31.当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。(v)32.设某堆中有 n个结点,则在该堆中插入一个新结点的时间复杂度为O(log2n)。(v)33.完全二叉树中的叶子结点只可能在最后两层中出现。 (v)34.哈夫曼树中没有度数为 1的结点。(v)35.对连通图进行深度优先遍历可以访问到该图中的所有顶点。 (v)36.先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。 (v)37.由树转化成二叉树,该二叉树的右子树不一定为空。 (x)38.线性表中的所有元素都有一个前驱元素和后继元素。 (x)39.带权无向图的最小生成树是唯一的。(x)四、应用题

1、已知一棵二叉树的中根序列和后根序列分别为序序列。ABCDEGFIH1、已知一棵二叉树的先根序列和中根序列分别为后序序列。GHDEBJIFCACBEDAFIG1、已知一棵二叉树的中根序列和后根序列分别为序序列。ABCDEGFIH1、已知一棵二叉树的先根序列和中根序列分别为后序序列。GHDEBJIFCACBEDAFIG服CEDBIFHGA请画出这棵二叉树,ABDGHECFLMGDHBEACIJF请画出这棵二叉树,并给出其先并给出其2、将下列由三棵树组成的森林转换为二叉树。(只要求给出转换结果)3、已知无向图如下所示:(2).画出它的邻接表;(1).给出从V1(2).画出它的邻接表;(3).画出从V1开始深度优先搜索生成树。4.假定用于通讯白^电文仅有8个字母C1,C2,…,C8组成,各个字母在电文中出现的频率分别为 5,15,3,6,22,11,30,8,请先构建一棵哈夫曼树,计算其 WPL[直,并为这8个字母设计相应的哈夫曼编码4、假定用于通讯的电文仅有8个字母C1,C2,…,C8组成,各个字母在电文中出现的频率分别为 5,25,3,6,10,11,36,4,请先构建一棵哈夫曼树,计算其 WPL直,并为这8个字母设计相应的哈夫曼编码。5、已知一表为(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec),按表中顺序依次插入初始为空的二叉排序树,要求:(1)画出建立的二叉排序树(值的大小以字母顺序为准) 。(2)对该二叉排序树作中序遍历,试写出遍历序列。(3)求出在等概率情况下查找成功的平均查找长度。6、已知一个图的顶点集 V和边集G分别为:V={0,1,2,3,4,5,6,7};E={(0,1)8,(0,2)5,(0,3)2,(1,5)6,(2,3)25,(2,4)13,(3,5)9,(3,6)10,(4,6)4,(5,7)20};按照普里姆算法从顶点 0出发得到最小生成树,试写出在最小生成树中依次得到的各条边。(0,1),(0,3),(0,2),(1,5),(3,6),(6,4),(5,7)。7、设一哈希表长为13,采用线性探测法解决冲突,哈希函数H(key)=key%13,(1)画出在空表中依次插入关键字 25,20,34,15,21,32,29,82,57后的哈希表。(2)求在等概率情况下,查找成功和查找不成功的平均查找长度。7、已知散列函数为 H(K)=Kmod11,健值序列为{47,7,29,11,16,92,22,8,3}哈希表长为11,采用线性探测法处理冲突,试构造闭散列表,并计算查找成功和不成功的平均查找长度。

8、已知待排序的序列为( 403,187,312,61,818,170,857,272,633,442),试完成下列各题。(1)根据以上序列建立一个堆(画出第一步和最后堆的结果图),希望先输出最小值。(2)输出最小值后,如何得到次小值。 (并画出相应结果图)。8、已知待排序的序列为( 503,87,512,61,908,170,897,275,653,462),试完成下列各题。(1)根据以上序列建立一个堆(画出第一步和最后堆的结果图),希望先输出最小值。(2)输出最小值后,如何得到次小值。 (并画出相应结果图)。9、下图表示一个地区的交通网,顶点表示城市,边表示连结城市间的公路,边上的权表示修建公路花费的代价。怎样选择能够沟通每个城市且总造价最省的 n-1条公路,画出一个方案。10、已知图G=(V,E),其中V={v1,v2,v3,v4,v5},E={<v1,v2>,<v1,v4>,<v2,v3>,<v2,v5>,<v4,v5>),<v5,v3>};画出这个图的图形并写出所有的拓扑序列。11、设有关键码序列{19,32,40,13,30,24,35},请给出平衡二叉树的构造过程(只需要给出不平衡时到平衡的过程即可)。11、设有关键码序列{20,35,40,15,30,25,38},请给出平衡二叉树的构造过程(只需要给出不平衡时到平衡的过程即可)。12、已知散列函数为H(K)=Kmod13,健值序列为12,31,15,54,04,78,22,29,34,54,29,47,采用拉链法处理冲突,试构造开散列表,并计算查找成功的平均查找长度。12、已知散列函数为 H(K)=Kmod13,健值序列为 13, 41, 15, 44,06, 68, 12,25, 38, 64,19, 49,采用拉链法处理冲突,试构造开散列表,并计算查找成功的平均查找长度。13、对于下列一组关键字36,48,25,55,80,17,11,72,13、对于下列一组关键字13、对于下列一组关键字46,58,15,45,90,18,10,62,13、对于下列一组关键字46,58,10,15,18,45,46,58,62,9014、对下面的关键字集(30,14,25,43,35,27,64,49),若查找表的装填因子为,采用线性探测再散列解决冲突:(1)设计哈希函数;(2)画出哈希表;(3)求查找成功的平均查找长度。14、在如下数组A中链接存储了一个线性表,表头指针为A[0].next,试写出该线性表。A0 1线性表为:2 34datanextA0 1线性表为:2 34datanext(78,50,605078903440357204156 740,60,34,90)15、按顺序输入下列顶点对 :(V1,V2) 、(V1,V6)、(V2,V6)、(V1,V4)、(V6,V4)、(V1,V3)、(V3,V4)、(V6,V5)、(V4,V5)、(V1,V5)、(V3,V5)。(顶点序列为:V1,V2,V3,V4,V5,V6)(1)画出相应的邻接表。(2)写出在邻接表上,从顶点3开始(表下标从0开始)的DFS序列和DFS生成树五、算法与程序设计1、阅读算法完成题目要求:(1)说出下列算法的功能。template<classT>structBinnode{Tdata;Binnode<T>*prior,*next;};boolUnknown(Binnode<T>*first){Binnode<T>*p,*q;p=first->next;q=first->prior;while(p!=q&&p->prior!=q)if(p->data==q->data){p=p->next;q=q->prior;}elsereturn0;return1;}/q指最小元素while(P&&P一data<x){//(1)比x小的数递减r=pfnext;pfnext=Lfnext;L-next=p;p=r;// (2)置逆}//whileq-next=p;pre=q;// (3)重新链接}//F1算法功能:在单链表中将比正整数 X小的数按递减次序排序(6)设有一个由正整数组成的无序单链表,阅读下面的算法,指出该算法的功能。voidF1(Linklist&L){p=L-next;pre=p;//pre 为最小结点指针while(p){if(p-data<pre一data;pre=p;p=p-next;// (1)查找最小值结点}//whileprintf(pre一data);// (2)输出最小值结点if(pre-next&&pre一data%2==0)//如果最小节点的下一个接点是偶数就删除{p=pre-next,pre-next=pfnext;free(p);// (3)删除其后继结点}//if}//F1算法功能:(7)阅读下列算法:(设L是带头结点的单链表的头指针,并为已知的LinkList类型)voidDeleteX(LinkList&L){p=L—>next;while(p&&p—>next—>data!=x){q=p;p=p —>next;}if(p){q—>next=p—>next;free(p);}}算法的功能: 删除单链表L中值为X的结点的直接前驱结点2、程序设计TOC\o"1-5"\h\z(1)设

温馨提示

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

评论

0/150

提交评论