ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:67.59KB ,
资源ID:21211732      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21211732.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(题库Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

题库Word格式.docx

1、next=NULL8、已知二维数组A0.9,0.9中,元素a20的地址为560,每个元素占4个字节,则元素a10的地址为 (8) 。A. 518 B. 520 C. 522 D. 5249、在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为 (9) 。 Arearn= = front B(front+l)n= = rear Crearn -1= = front D(rear+l)n= = front10、假设在一棵二叉树中,度为2的结点数为15,度为1的结点数为10个,则该二叉树的分支总数为 (10) 个。 A. 41 B. 40 C.

2、30 D. 25二、 填空题1. 一棵深度为k的完全二叉树(假定根结点所在的层次为第1层),则其结点总数的最小值为 (1) ,最大值为 (2) 。2对于一个具有n个结点的单链表(n1),在指针变量p指向的结点后插入一个新结点的时间复杂度为 (3) ,在给定值为x的结点后插入一个新结点的时间复杂度为 (4) 。3. 设有一空栈,现有输入序列A,B,C,D,E,经过push, push, pop, push, pop, push, push后,此时的输出序列为 (5) 。4.有一个100*90整型数据的稀疏矩阵,非0元素有10个,设每个整型数据占2字节,则用三元组表示该矩阵时,所需的字节数是 (6

3、) 。5. 设栈S和队列Q初始为空。6个元素依a,b,c,d,e,f的顺序通过栈S,一个元素出栈后立即进入队列 Q。若这6个元素出队的序列为d,c,b,f,e,a,则栈S 的最小容量需 (7) 。6. 若对n阶对称矩阵A0.n-1,0.n-1以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B1.(n(n+1)/2中,则在B中确定aij(ij)的位置k的关系为 (8) 。7. 表达式a+(b*c-d)/e+f*g/h)+x/y对应的后缀表达式是 (9) 。8. 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=BeijingNanjing,T=jing,I

4、NDEX(S,T)= (10) 。三、 判断题1二叉树结构中,任何一个结点都有一个且仅有一个直接前驱和直接后继。 . ( ) 2在一棵二叉树中,假定每个结点只有左孩子,没有右孩子,对它分别进行中序遍历和后序遍历,则具有相同的结果。 . ( )3. 对线性链表来说,从任意结点开始均能扫描表中全部结点。4. 线性表的特点是每个元素都有一个前驱和一个后继。 . ( )5. 栈和队列都是限制存取点的线性结构。四、简答题1已知一棵二叉树如下,请分别写出按前序、中序、后序遍历时得到的字符序列。 A B CD E FG H IJ2设x,n为整型变量,且n0,下面程序片段中语句x /= 2执行次数的数量级是多

5、少?试进行分析。用“O”记号表示。x = n*n;while (x=1) x /= 2;3用栈实现将中缀表达式:8*(3+5)+5/3# 转换成后缀表达式,画出栈的变化过程图(符号“#”为表达式结束符)。4已知一棵二叉树的中序序列和后序序列分别是BDCEAFHG 和 DECBHGFA,请画出这棵二叉树,并写出对其先序遍历的序列。5. 线性表有两种常用存储结构:一是顺序表,二是线性链表。试问:(1)如果有n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动的改变。在此情况下,应选用哪种存储结构?为什么?(2)若线性表的总数基本稳定,且很少进行插入和删除操作,但要求以最快

6、的速度存取线性表中的元素,那么应采取哪种存储结构?五、算法题1. 以下算法利用栈的基本操作将一个十进制正整数转换成二进制正整数,填空完善之。void conversion( ) InitStack(S); scanf(%d,&x); while (x!=0) push(S, (1) ); x=x/2; while( !StackEmpty(S) ) (2) ; printf(,x); 注:栈的基本操作如下:InitStack(s):初始化一个栈; Push(s,x): 元素x进栈; Pop(s,x):栈顶元素出栈; GetTop(s,x): 读出栈顶元素; StackEmpty(s): 判栈是

7、否为空。2. 编写二叉树(以二叉链表存储)先序遍历的递归算法。复习2一、单项选择题1. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行 (1) A. p-next=HL- HL- B. p-next=HL; HL=p; C. p- p=HL; D. HL=p; p-2. 对线性表,在下列 (2) 情况下应当采用链表表示。 A.经常需要随机地存取元素; B.经常需要进行插入和删除操作; C.表中元素需要占据一片连续的存储空间; D.表中元素的个数不变;3. AOV网是一种 (3) 。 A有向图 B无向图 C无向无环图 D有向无环图4. 采用开放定址法处理散列表的冲突时,其

8、平均查找长度 (4) 。A低于链接法处理冲突 B. 高于链接法处理冲突 C与链接法处理冲突相同 D高于二分查找5. 快速排序在最坏情况下的时间复杂度为 (5) 。AO(log2n) BO(nlog2n) C0(n) D0(n2) 6. 若有18个元素的有序表存放在一维数组A19中,第一个元素放A1中,现进行二分查找,则查找到A3元素经过比较的数组下标依次为 (6) 。A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,37. 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有 (7) 个

9、。 A1 B2 C3 D48. 设有6个结点的无向图,该图至少应有 (8) 条边才能确保是一个连通图。A.5 B.6 C.7 D.89. 设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度为(9) 。 A 129 B 219 C 189 D 22910. 设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有(10)个空指针域。A 2m-1 B 2m C 2m+1 D 4m二、填空题1. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e= (1) 。2. 设一棵二叉树的前序序

10、列为ABC,则有 (2) 种不同的二叉树可以得到这种序列。3. 设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较 (3) 次就可以断定数据元素X是否在查找表中。4. 设有向图G中有向边的集合E=,1,44,24,3,则该图的一种拓扑序列为 (4) 。5. 设一组初始记录关键字序列为(20,18,22,16,30,19),则以20为枢轴的一趟快速排序结果为 (5) 。6. 设关键字序列为(Kl,K2,Kn),则用筛选法建初始堆必须从第 (6) 个元素开始进行筛选。7. 设一组初始记录关键字序列为(49,38,65,97,76,13,27,50),则以d=4为增量的一趟

11、希尔排序结束后的结果为 (7) 。8. 设指针变量p指向单链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X需要执行的语句序列:s- (8) 。9. 设一组初始记录关键字序列为(20,12,42,31,18,14,28),则根据这些记录关键字构造的二叉排序树的平均查找长度是 19/7 (9) 。10. 采用开放定址法处理散列表的冲突时,其平均查找长度 (10)(填高于、等于或低于) 链地址法处理冲突。三、判断题 1. 调用一次深度优先遍历可以访问到图中的所有顶点。 ( )2. 已知一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。( )3. 层次遍历初始堆可以

12、得到一个有序的序列。 ( )4. 将一棵树T转化成二叉树,则该二叉树中一定没有右子树。 ( )5. 如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零。1. 编写一个算法,求出邻接表表示的无向图中序号为No的顶点的度数。(本题满分6分)int degree3(Graph & G, int No)/根据无向图的邻接表求出序号为No的顶点的度数 int Td=0; AdjList p=G.AdjListNo; !需要填写的部分 return (Td);2. 下图给出了一个具有15个活动、11个事件的工程的AOE网,求该网的关键路径并画出关键路径。3. 根据两个有序单链表生成一个新的有

13、序单链表,原有单链表保持不变。要求新生成的链表中不允许有重复元素,并要求返回新表的表头指针。填写程序中缺少的部分。ListNode * Merge ( ListNode *L1, ListNode *L2 ) /根据两个有序单链表L1和L2, 生成一个新的有序单链表ListNode *p1 = L1-link, *p2 = L2-link;ListNode *first=new ListNode;ListNode *p=first;while ( p1 != NULL & p2 != NULL ) /当两个链表都未检测完时= NULL ) /继续处理p1链表中剩余的结点。p=p-link =

14、new ListNode;data = p1-data; p1 = p1-while ( p2 != NULL ) /继续处理p2链表中剩余的结点。data = p2- p2 = p2-link = NULL; return first-4. 下图所示为一个有向网图及其带权邻接矩阵,要求对有向图采用Dijkstra算法,求从V0 到其余各顶点的最短路径。5. 用栈实现将中缀表达式:9+6*(3-1)-8/2# 转换成后缀表达式,画出栈的变化过程图(符号“#”为表达式结束符)。6. 假定一组记录为(38,42,55,15,23,44,30,74,48,26),按次序插入每个结点生成一棵AVL树,

15、画出该AVL树,并求出该AVL树中度为2、度为1和度为0的结点个数。7. 若数组An = 12, 24, 0, 38, 0, 0, 0, 0, 29, 0, 45, 0, n = 12,写出算法执行后数组An元素的值。void unknown ( int A12, int n ) int free = 0;for ( int i = 0; i n; i+ ) if ( Ai != 0 ) if ( i != free ) Afree = Ai; Ai = 0;free+;五、算法阅读、设计题(本大题有3小题,共 18 分,每小题分值见各题标注)1. 下面是进行快速排序的一次划分的算法,请按标号

16、填补合适的内容。 void Exchange(int s, int i, int j) int temp =si; si=sj; _(1)_; int Partition(int seq, int low, int high) int pivotpos=low, pivot=seqlow, i; for(i=low+1;=high; if(_(2)_) pivotpos+; if(pivotpos!=i) Exchange(seq, pivotpos, i); _(3)_; return pivotpos;2. 已知一个图的顶点集V和边集G分别为: V=1,2,3,4,5,6; E=,2,42

17、,53,44,54,65,15,36,5; 假定该图采用邻接表表示,每个顶点邻接表中的边结点都是按照终点序号(即数值域的值)从大到小的次序链接的,试按照遍历算法写出: (本题满分6分) (1) 从顶点1出发进行深度优先搜索所得到的顶点序列; (2) 从顶点1出发进行广度优先搜索所得到的顶点序列。3. 设哈希表的长度m=11,哈希函数为H(K)=K mod m,采用链地址法解决冲突,待依次插入的关键码序列为1,13,12,34,38,33,27,22。根据构成的哈希表回答: (1) 在等概率的情况下,搜索成功时的平均查找长度; (2) 在等概率的情况下,搜索失败时的平均查找长度。复习31. 算法

18、分析的两个主要方面是 (1) 。A. 空间复杂性和时间复杂性 B. 正确性和简明性C 可读性和文档性 D. 数据复杂性和程序复杂性2. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是 (2) 。next=s; B. s-p-Cp-next=s- D. p-3. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少 (3) 。A 1和 5 B. 2和4 C 4和2 D. 5和1 4. 设串s1=ABCDEFG,s2=PQRST,函数con(x,y)返回x和y串的连接串,subs(

19、s, i, j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1, 2, len(s2), subs(s1, len(s2), 2)的结果串是 (4) 。ABCDEF B. BCDEFG CBCPQRST D. BCDEFEF5. 数组A0.5,0.6的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A5,5的地址是 (5) 。A 1175 B. 1180 C 1205 D. 12106. 一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有 (6) 结点。A2h B. 2h-1 C2h+1 D. h

20、+17. 已知有向图G=(V,E),其中V=V1,V2,V3,V4,V5,V6,V7,E=V1,V3V1,V4V2,V5V3,V5V3,V6V4,V6V5,V7V6,V7,G的拓扑序列是 (7) 。AV1,V3,V4,V6,V2,V5,V7 B. V1,V3,V2,V6,V4,V5,V7CV1,V3,V4,V5,V2,V6,V7 D. V1,V2,V5,V3,V4,V6,V78. 以下说法错误的是 (8) 。A哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。B. 若一个二叉树的树叶是某子树的中序遍历序列中的第一个结点,则它必是该子树的后序遍历序列中的第一个结点。C已知二叉树的前序

21、遍历和后序遍历序列并不能惟一地确定这棵树,因为不知道树的根结点是哪一个。D. 在前序遍历二叉树的序列中,任何结点的子树的所有结点都是直接跟在该结点的之后。9. 当采用分块查找时,数据的组织方式为 (9) 。A数据分成若干块,每块内数据有序B. 数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D. 数据分成若干块,每块(除最后一块外)中数据个数需相同10. 若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是 (10) 。A 快速排序 B. 堆排序

22、 C 归并排序 D. 直接插入排序1. 下面程序段中带下划线的语句的执行次数的数量级是: 。i=1;WHILE(in) i =i*2;2. 二叉树结点的中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E,则该二叉树结点的前序序列为_ _,则该二叉树对应的树林包括_ _棵树。3. 用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的S和X的操作串为_ _。4. 设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维数组B 1, n(n-1)/2 中,对下三角部分中任一元素ai,j(ij), 在一维数组B

23、中下标k的值是:5. 若a=1,b=2,c=3,d=4,则后缀式db/cc*a-b*+的运算结果为_ _。6. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是_ _。7. 有向图G=(V,E),其中 V(G)=0,1,2,3,4,5,用三元组表示弧及弧上的权d.E(G)为0,2,100,4,304,5,603,5,102,3,504,3,20,则从源点0到顶点3的最短路径长度是_ _,经过的中间顶点是_ _。8. 对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为: 。三、判断题1. 完全二叉树中,若一个结点没有左孩子,则它必是树叶。2. 用邻接矩阵

24、法存储一个图所需的存储单元数目与图的边数有关。3. 查找相同结点的效率折半查找总比顺序查找高。4. 线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。5. 直接选择排序算法在最好情况下的时间复杂度为O(N)。1. 设双向循环链表中结点的数据域、前驱和后继指针域分别为data, pre和next,试写出在指针p 所指结点之前插入一s结点的C语言描述语句。2. 画出对算术表达式A-B*C/D-E/F求值时操作数栈和运算符栈的变化过程。3. 给定30个字符组成的电文: D D D D D A A A B E E A A F C D A A C A B B C C C B A A D D试

25、为字符 A、B、C、D、E、F 设计哈夫曼(Huffman)编码。(1)画出相应的哈夫曼树;(要求左子树结点的值小于右子树结点的值)(2)分别列出 A、B、C、D、E、F 的哈夫曼码;(要求左枝标0,右枝标1)(3)计算该树的带权路径长度WPL4. 给定关键字序列(46,15,20,35,28,58,18,50,54)依次插入结点分别生成一棵二叉排序树和二叉平衡树,并分别求出查找每个元素的平均查找长度。(表明插入时所需平衡的类型)5. 一个线性表为B=(12,23,45,57,20,03,78,31,15,36),设散列表为HT0.12,散列函数为H(key)= key % 13并用线性探查法

26、解决冲突,请画出散列表,并计算等概率情况下查找成功的平均查找长度。6. 已知世界六大城市为:北京(Pe)、纽约(N)、巴黎(Pa)、 伦敦(L) 、 东京(T) 、 墨西哥(M),下表给定了这六大城市之间的交通里程:世界六大城市交通里程表(单位:百公里)penpaLTMPe109828121124N585510832PA397929589113(1)画出这六大城市的交通网络图;(2)画出该图的邻接表表示法;(3)构造的最小(代价)生成树.(请分别用Prim算法和Kruskal算法)五、算法阅读、设计题1.下列程序为二叉搜索树的查找的递归算法,请完善:bool Find(BTreeNode* BST,E

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1