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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构旧年卷.docx

1、数据结构旧年卷一. 选择题1. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( B )个元素。 A8 B. 63.5 C. 63 D. 72. 设有一个二维数组Amn,假设A00存放位置在644(10),A22存放位置在676(10),每个元素占一个空间,则A33在( A )位置,(10)表明用10进数表示。 A692(10) B. 626(10) C. 709(10) D. 724(10)3. 一个有序顺序表有255个对象,采用顺序搜索查表,平均搜索长度为( A )。 A128 B. 127 C. 126 D. 2554. 含5个结点(元素值均不相同)的二叉树搜

2、索树有( B )种。 A54 B. 42 C. 36 D. 655N个顶点的连通图至少有(A )条边。 AN1 B. N C. N1 D. 0 6 对于两个函数,若函数名相同,但只是( C )不同则不是重载函数。 A参数类型 B. 参数个数 C. 函数类型 D.函数个数 7 若需7. 要利用形参直接访问实参,则应把形参变量表明为( B )参数。 A指针 B.引用 C. 值 D.地址8 下面程序的时间复杂度为( C )。 for(int i=0; im;i+) for(int j=0; jlink=p-link; p-link =s; B. q-link=s; s-link =p; C. p-l

3、ink=s-link; s-link =q; D. p-link=s; s-link =q;11. 设单链表中结点的结构为(data, link)。若想摘除结点*p的直接后继,则应执行下列哪一个操作( A )。Ap-link=p-link-link; B. p=p-link; p-link=p-link-link C. p-link=p-link; D. p=p-link-link;12. 栈的插入和删除操作在( A )进行。 A栈顶 B. 栈底 C. 任意位置 D. 指定位置13若让元素1,2,3依次进栈,则出栈次序不可能出现哪种情况( C )。 A3,2,1 B. 2,1,3 C. 3,1

4、,2 D. 1,3,214 广义表A(a),则表尾为( C )。Aa B. () C. 空表 D. (a)15 下列广义表是线性表的有( C )。 AE(a,(b,c) B. E(a,E) C. E(a,b) D. E(a,L()16. 折半搜索与二叉搜索树(即二叉排序树)的时间性能( C )。 A相同 B. 完全不同 C. 有时不相同 D. 不确定17 采用折半搜索算法搜索长度为n的有序表时,元素的平均搜索长度为( C )。AO(nlog2n) B. O(n) C. O(log2n) D. O(n)18. 采用邻接表存储的图的深度优先遍历算法类似于二叉树的( B )。 A中序遍历 B. 前序

5、遍历 C. 后序遍历 D. 按层次遍历19 每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做( B )排序。 A插入 B. 选择 C. 交换 D. 外排序20采用邻接表存储的图的广度优先遍历算法类似于二叉树的( D )。 A中序遍历 B. 前序遍历 C. 后序遍历 D. 按层次遍历二. 填空题 1.算法是一个有穷的指令集,它为解决某一特定任务规定了一个运算序列。它应具有输入、输出、_确定性_、有穷性和可执行性等特性。2.在一棵度为3的树中,度为2的结点个数是1,度为0的结点个数是6,则度为3的结点个数是_2_。3.队列的插入操作在_队尾_进行,删除操作在_队头_

6、进行。4.当用长度为n的数组顺序存储一个栈时,若用top=n表示栈空,则表示栈满的条件为_top=0_。 5.对序列(49,38,65,97,76,27,13,50)采用快速排序法进行排序,以序列的第一个元素为基准元素得到的划分结果是_13 27 384550 65 76 97_。6. 对于一棵具有n个结点的树,该树中所有结点的度数之和为_n-1_。7.在一个堆的顺序存储中,若一个结点的下标为i,则它的左子女结点的下标为_2i+1_,右子女结点的下标为_2i+2_。8. 请指出在顺序表2、5、7、10、14、15、18、23、35、41、52中,用折半查找关键码12需做_4_次关键码比较。 9

7、.若线性表采用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则第12个元素的存储地址是_144_。10. 在一个长度为n 的顺序表中,向第i个元素(1 i n)之前插入一个新元素时,需要向后移动_n-i+1_个元素。11.设有两个串p和q,求q在p中首次出现的位置的运算称作_。12.以折半搜索方法搜索一个线性表时,此线性表必须是_顺序_存储的_有序_表。13.在一个无向图中,所有顶点的度数之和等于所有边数的 _2_倍。14.判定一个循环队列QU(最多元素为m)为满队列的条件是_。15设有广义表D(a,b,D),其长度为_,深度为_。16 在一个具有n个顶点的无向完全图中

8、,要连通所有顶点则至少需要_n-1_条边,在一个具有n个顶点的有向完全图中,包含有_n(n-1)_条边。17. 对于一个具有n个顶点的图,若采用邻接矩阵表示 ,则矩阵大小为_n*n_。18. 对于一个具有n个顶点和e条边的连通图,其生成树中顶点数和边数分别为_n_和_n-1_。 19. 在直接选择排序中,记录比较次数的时间复杂度为_O(n*n)_,记录移动次数的时间复杂度为_O(n)_。20 快速排序在平均情况下的空间复杂度为_O(logn)_,在最坏情况下的空间复杂度为_O(n)_。 21.当问题的规模n趋向无穷大时,算法执行时间T(n)的数量级被称为算法的_时间复杂度_。 22.若线性表采

9、用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则第12个元素的存储地址是_144_。23.在一个长度为n 的顺序表中,向第i个元素(1 i n)之前插入一个新元素时,需要向后移动_个元素。 24.设有两个串p和q,求q在p中首次出现的位置的运算称作_。25.在一个无向图的邻接表中,若表结点的个数是m,则图中边的条数是_m/2_条。 26. 对于一个具有n个顶点的图,若采用邻接矩阵表示 ,则矩阵大小为_。 三、判断题 (y )1. 直接选择排序是一种不稳定的排序方法。( n)2. 折半搜索只适用于有序表,包括有序的顺序表和有序的链表。( y)3. 数据的逻辑结构与数据元

10、素本身的内容和形式无关。 ( n)4. 数据结构是指相互之间存在一种或多种关系的数据元素的全体。( n)5.线性表的逻辑顺序与物理顺序总是一致的。( y)6.线性表若采用链式存储表示时所有存储单元的地址可连续可不连续。( y)7.二叉树是数的特殊情形。( y)8.若有一个叶子结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点。( n)9. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。( n)10.任一棵二叉搜索树的平均搜索时间都小于用顺序搜索法搜索同样结点的顺序表的平

11、均搜索时间。 ( n)11.对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。( y)12. 最优二叉搜索树的任何子树都是最优二叉搜索树。(y )13. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。(y )14. 有n(n1)个顶点的有向强连通图最少有n条边。( n)15. 连通分量是无向图中的极小连通子图。 ( n)16.二叉树中任何一个结点的度都是2。(n )17.单链表从任何一个结点出发,都能访问到所有结点。 四、程序阅读填空 1. 在顺序表中第 i 个位置插入新元素 xtemplate int Seq

12、List:Insert (Type & x, int i) if (ilast+1|last=MaxSize-1)return 0; /插入不成功 else last+; for(int j=last;ji;j-)dataj=dataj-1; datai = x; return 1; /插入成功 2. 删去链表中除表头结点外的所有其他结点template void List : MakeEmpty ( ) ListNode *q; while (firstlink!=NULL)q=first link; first link=q link; /将表头结点后第一个结点从链中摘下 delete q

13、; /释放它 last = first; /修改表尾指针 3. 删去链式队头结点(队头指针为QueueNode *front),并返回队头元素的值template Type Queue:DeQueue( ) assert (!IsEmpty ( ); /判队空的断言 QueueNode *p =_front_; Type retvalue = pdata; /保存队头的值 _front=front link_; /新队头 delete p; return retvalue; 4. 最小堆的向下调整算法template void MinHeap:FilterDown(int start, int

14、 EndOfHeap) int i = start, j = 2*i+1; / j 是 i 的左子女 Type temp = heapi; while ( j = EndOfHeap ) if ( j heapj+1.key ) j+; /两子女中选小者 if ( temp.key = heapj.key ) break; else heapi = heapj; i = j; j=2*j+1_; _heapi=temp;_ _; 5基于有序顺序表的折半搜索递归算法(Element为有序顺序表)template int orderedList :BinarySearch(const Type &

15、 x, const int low, const int high)const int mid = -1; if ( low = high ) _mid=(low+high)/2_; if ( Elementmid.getKey( ) x ) mid = BinarySearch ( x, low, mid -1 ); return mid;6. 直接插入排序的算法(按关键码 Key 非递减顺序对数据表list进行排序)template void InsertionSort(datalist & list) for(int i=1; ilist.CurrentSize; i+)_inter(l

16、ist,i)_ _;template viod Insert(datalist & list, int i) Element temp = list.Vectori; int j = i; /从后向前顺序比较 while(j0 & temp.getKey( )list.Vectorj-1.getKey( ) _list.vectorj=list.vectorj-1_ _; j-; list.Vectorj = temp; 7. 直接选择排序的算法: template void SelectSort(datalist & list) for(int i=0; ilist.CurrentSize-

17、1; i+) _SelectExchange(list,i)_ _;template viod SelectExchange(datalist & list, const int i)int k = i; for(int j=i+1;j list.CurrentSize;j+)if(list.Vectorj.getKey()rLink, *q=DL-lLink; While(p!=q & p-rLink!=q & sym=1)if(p-data=q-data) _p=p rLink_;_q=q lLink_;else sym=0; return sym; 五、简答题 1. 给定权值集合15,

18、03, 14, 02, 06, 09, 16, 17, 构造相应的霍夫曼树, 并计算它的带权外部路径长度。 P1342. 线性表可用顺序表或是链表存储,此两种存储表示各有哪些优缺点? P503. 设有一个输入数据的序列是46,25,78, 62, 12, 37, 70, 29,试画出从空树起,逐个输入各个数据而生成的二叉搜索树。4. 对于如右图所示的有向图,试写出:(1) 从顶点出发进行深度优先搜索所得到的深度优先生成树; (2) 从顶点出发进行广度优先搜索所得到的广度优先生成树; P1785.用广义表的带表头结点的存储表示法表示下列集合。 A = ( ) B = (6, 2) C = (a,

19、( 5, 3, x)D = (B, C, A) E = (B, D) 6.右图所示为一有向图,请给出该图的下述要求: (1)给出每个顶点的入度和出度;1 3 02 2 23 1 24 3 15 2 16 1 4(2)以结点3为起始结点,分别画出该图的一个深度优先生成树和一个宽度优先生成树; (3)给出该图的邻接矩阵; (4)给出该图的邻接表; (5)给出该图的逆邻接表; 7. 已知二叉树的先序、中序和后序序列分别如下,但其中有一些已模糊不清,试构造出该二叉树。先序序列_BC_EF_中序序列BDE_AG_H 后序序列_DC_GH_A 8. 已某个不带权的无向图采用邻接矩阵存储方法依次将顶点的数据

20、信息存放于一维数组ABCDEFGH中,边的信息存放于邻接矩阵中,邻接矩阵为 0 1 1 0 0 0 0 01 0 0 0 1 0 1 11 0 0 1 0 1 0 00 0 1 0 0 1 0 00 1 0 0 0 0 0 10 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0请写出从顶点A出发对该图进行深度优先遍历后得到的顶点序列。 六、算法编程 1. 已知An为整数数组,试写出实现下列运算的递归算法: (1) 求数组A中的最大整数。 (2) 求n个整数的和。 (3) 求n个整数的平均值。 P1032. 请给出二叉树及其结点的类定义,并实现一个计算二

21、叉树结点个数的成员函数 1. Select the correct choice. (10 scores) (3) For sequential search, D(A) The best, average, and worst cases are asymptotically the same.(B) The best case is asymptotically better than the average and worst cases. (C) The best and average cases are asymptotically better than the worst ca

22、se. (D) The best case is asymptotically better than the average case, and the average case is asymptotically better than the worst case.(4) We use the parent pointer representation for general trees to solve which problem?C(A) Shortest paths (B) General tree traversal (C) Equivalence classes (D) Exa

23、ct-match query(5) The most effective way to reduce the time required by a disk-based program is to:B (A) Improve the basic operations. (B) Minimize the number of disk accesses. (C) Eliminate the recursive calls. (D) Reduce main memory use. (9) The most important advantage of a 2-3 tree over a BST is

24、 that:C (A) The 2-3 tree has fewer nodes. (B) The 2-3 tree has a higher branching factor. (C) The 2-3 tree is height balanced. (D) None of all above.(10) Which best characterizes the performance of the splay tree?B (A) All operations require O(log n) time.(B) m operations require a total of O(m log

25、n) time for m n.(C) All operations require O(n) time. (D) None of all above.2. Determine for the following code fragments in the average case. Assume that all variables are of type int. (9 scores)(1) sum=0;for (i=0; i3; i+)for (j=0; jn; j+) /o(n)sum+;(2) Assume array A contains a random permutation

26、of the values from 0 to n-1.sum=0;for (i=0; in; i+)for (j=0; Aj!=i; j+) /o(n2)sum+;(3) sum=0; if (EVE(n)for (i=0; in; i+) /o(n) sum+; else sum=sum+n;5. Show the max-heap that results from running buildheap on the following values stored in an array: 44, 66, 33, 88, 77, 55, 22. (10 scores)7. Show the shortest paths generated by running Dijkstras

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

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