资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
学号: 姓名:数据结构与算法模拟题一、填空题:(共15分)(每空一分)1. 按照排序时,存放数据的设备,排序可分为 内部 排序和 外部 排序。2. 图的常用的两种存储结构是 邻接矩阵 和 邻接表 。3. 数据结构中的三种基本的结构形式是 x线性结构 和 树形结构 、 图形结构 。4. 一个高度为6的二元树,最多有 63 个结点。5. 线性查找的时间复杂度为:O(n) ,折半查找的时间复杂度为:O(nlogn) 、堆分类的时间复杂度为:O(nlogn) 。6. 在采用散列法进行查找时,为了减少冲突的机会,散列函数必须具有较好的随机性,在我们介绍的几种散列函数构造法中,随机性最好的是随机数法 法、最简单的构造方法是除留余数法 。7. 线性表的三种存储结构是:数组、链表 、静态链表 。二、回答下列问题:(共30分)1. 现有如右图的树,回答如下问题:A) 根结点有:6B) 叶结点有:5C) 具有作大度的结点:9和10D) 结点o的祖先是:0和2E) 结点o的后代是:102. 栈存放在数组Am中,栈底位置是m-1。试问:A) 栈空的条件是什么?top=m-1B) 栈满的条件是什么?栈满top=03. 数据结构和抽象数据型的区别与联系:数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。数据元素相互之间的关系称为结构。抽象数据类型:是指一个数学模型(数据结构)以及定义在该模型(数据结构)上的一组操作。 4. 已知一株非空二元树,其先根与中根遍历的结果为:先根:ABCDEFGHI 中跟:CBEDAGFHI 将此二元树构造出来。5. 分析下列程序的运行时间:A) void mystery(int n)int i, j, k; for(i=1; in; i+) for(j=i+1; j=n; j+) for(k=1; k=j; k+)some statement requiring O(1) time; 这个应该是时间复杂度吧 : O(n3)B)void podd(int n) int I, j, x, y; for(I=1; I=n; I+) if( odd(I ) ) for(j=I; j=n; j+) x=x+1; for(j=1; j=I; j+) y=y+1; O(n2)6. 已知数学表达式是(3+b)sin(x+5)a/x2,求该表达式的波兰表示法的前缀和后缀表示(要求给出过程)。我感觉它的前缀表示法为-*+3bSIN+x5*/ax0.5,后缀表示法为3b+x5+SIN*ax/0.5*-。 三、实现下列算法:(共0分)1. 在指针实现的线性表L中,实现在线性表L 中删除关键字为x的结点。(共7分)intdeleteValueList(structList*L,elemTypex) inti,j; /*从线性表中顺序查找出值为x的第一个元素*/ for(i=0;isize;i+) if(L-listi=x) break; /*若查找失败,表明不存在值为x的元素,返回0*/ if(i=L-size) return0; /*删除值为x的元素L-listi*/ for(j=i+1;jsize;j+) L-listj-1=L-listj; L-size-; return1;2. 设有如下图的双向环形链表L=(a, b, c, d) 。请写出将该表转换为L=(b, a, c, d)的简单操作。(共7分)abcdLL D RLL abcdLL D RLL L-RL-RL = D-RL ; D-RL = L-RL; LRL-LL-RL=D-LL; D-LL=L-RL-LL-LL; L-RL=D; 四、对下面的带权连通无向图,用Prim(普里姆)算法,构造一株最小生成树。画出构造过程的每一步。(12分)第6页(共7页)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号