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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构练习.docx

1、数据结构练习目录第1章 绪论 21、填空题 22、应用题 2第2章 线性表 31、填空题 32、选择题 33、判断题 44、程序设计题 4第3章 栈和队列 71、填空题 72、选择题 73、判断题 7第4章 串 81、选择题 82、判断题 8第6章 树和二叉树 81、填空题 82、选择题 83、判断题 94、应用题 95、读程序写结果 16第7章 图 171、填空题 172、选择题 173、判断题 184、应用题 185、程序设计题 23第9章 查找 231、选择题 232、判断题 243、应用题 244、程序设计题 26第10章内部排序 271、填空题 272、选择题 273、判断题 284

2、、应用题 28第1章 绪论1、填空题1.常见的数据结构有_ 线性 _结构,_ 树形 _结构,_图形 _结构等三种。2.常见的存储结构有_ _顺序_存储_结构,_链式存储_ _结构等两种。3.数据的基本单位是_数据元素 _,它在计算机中是作为一个整体来处理的。4.数据结构中的结构是指数据间的逻辑关系,常见的结构可分为两大类,_ _线性_和_ 非线性 _。5. 计算机算法必须具备_输入_、_输出_和_有穷性_、_确定性_、_可执行_等5个特性 如果某数据结构的数据元素的集合为S=A, B, C, D, E, F, G, 数据元素之间的关系为R=, , , , ,则该数据结构是一种( B )。A)

3、线性结构 B) 树结构 C) 图结构 D) 链表结构7.数据的物理结构有_顺序_和_链表_,逻辑结构有_线性_表_,_图形_和_树_。8. 已知某算法的实行时间为(n+n2)/2+log2(2n+1),n为问题规模,则该算法的时间复杂度是( C )。 A)O(n) B) O(log2n) C) O(n2) D) O(1)2、应用题1、给出以下算法的时间复杂度.void fun(int n) int i=1,k=100; while(in) k=k+1; i=i+2; 时间复杂度为_O(n)_ _。2、给出以下算法的时间复杂度.void fun2(int n) int i=1,k=100; wh

4、ile(iNext=P-Next _;_P-Next=s_ _;4.在单向链表中,若要删除某个结点p,一般要找到_p的前驱_ _结点,才能实现该操作。2、选择题1. 将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是 A 。(A)n (B)2n1(C)2n (D)n-12. 在单链表中,如果在结点p之后插入一个新结点s,其操作为 A 。(A)s-next=p-next; p-next=s;(B)p-next=s; s-next=p-next;(C)s-next=p; p-next=s-next;(D)p-next=s; s-next=p;3.若长度为n的线性表采用顺序存储结构,在其

5、第i个位置删除一个元素的算法的平均时间复杂度为( C )。(1in)AO(0) BO(1) C.O(n) DO(n2)4. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素需要移动的元素个数为(b )。(1in+1)An-i Bn-i+1 C. i Dn-i-15. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是_B_。 A) 110 B) 108 C) 100 D) 1206. 线性表的顺序存储结构是一种_A_的存储结构,线性表的链式存储结构是一种 的存储结构A) 随机存取 B)顺序存取 C)索引存取 D)散列存取7. 有n个元素的线性表,采用

6、顺序存储表示,则将第i个元素(1in)删除必须移动( C ) 个元素。A)2n B)n-i+1 C) n-i D)i8. 在长度为n的顺序存储线性表中,向第i个元素(1=inext=NULL C) head-next=head D) head!=NULL13. 在一个单链表中,已经知道q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则可以执行_A_A) s-next=p-next;p-next=s; B) p-next=s-next;s-next=p;C) q-next=s;s-next=p;D) p-next=s;s-next=q;14 在一个单链表中,若删除p所指结点的后续结点

7、(若存在),则修改指针的操作为( A )A) p-next=p-next-next B) p=p-next; p-next=p-next-next;B) p-next=p-next; D)p=p-next-next15.在循环链表中,可根据任一结点的地址遍历整个链表,而单链表中需知道_头结点_才能遍历整个链表。16.线性表的顺序存储结构是通过_存储_位置_来直接反映数据元素之间的逻辑关系,而链式存储结构是通过_地址指针_间接反映数据元素之间的逻辑关系。17.顺序表中逻辑上相邻的元素的物理位置_一定_紧邻。单链表中逻辑上相邻的元素的物理位置_不一定_紧邻。3、判断题1.线性表中每一个元素都有一个

8、前驱和一个后继。( X)(头结点没有前驱,尾结点没有后继)4、程序设计题1、单链表的结点结构定义如下:struct LinkNode LinkNode *next; int data;请根据所描述函数的功能写程序。void Insert(LinkNode *h,LinkNode *s)/h指向链表的头结点(即使链表中没有元素,头结点也存在。)/链表中元素已经递增有序/函数功能为将结点s插入到链表h中。插入后链表仍然保持递增的顺序 2、设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。顺序表的结构定义如下:#define ListSize 100 / 假定表空间大小为1

9、00struct SqList int elemListSize; / 数组elem用于存放表中的数据int length; / 当前的表长度;/以上为顺序表的结构/函数头定义如下 3、单链表中结点的结构如下所示: typedef struct node int data; struct node *next;node;请设计满足下述功能的函数。要求: 建立带头结点的单链表H,要求函数从屏幕上读入m个整数,每读入一个,便生成相应的结点,并且把它插入到链表H的尾部。函数形式为void CreateLinkList(node *H)。 第3章 栈和队列1、填空题1.栈和队列在本质上都是_ 线性表

10、_。2.栈的操作特点是_ 先进后出 _。队列的操作特点是_ 先进先出 _。2、选择题1.消除递归不一定需要使用栈,此说法_A _。(栈一定可以消除递归) A. 正确 B. 错误2.对于栈,输入序列为(1,2,3,4),不可能得到的输出序列有_D_ _。(A)(1,2,3,4)(B)(4,3,2,1)(C)(1,3,4,2)(D)(3,1,2,4)3.用单循环链表表示队列,正确的说法是 。 (A)可设一个头指针使入队、出队都方便;(B)可设一个尾指针使入队、出队都方便;(C)必须设头尾指针才能使入队、出队都方便;(D)无论如何,只可能使入队方便。4. 队列用循环数组Q0.max-1 实现,尾指针

11、rear指向队尾元素的实际位置,头指针front指向队首元素的前一位, 则队列的判空条件是_front=rear_; 判满条件是(_rear+1)%max_=Q-front_; 入队是_reat=(rear+1)%max_; 出队是_front=(front+1)%max _;5. 输入栈的序列是a1,a2.an,经由此栈输出的序列共有( B )种。6.若进栈的序列为1,2,3,4,则以下哪一个不可能是一个出栈序列。( C )A) 3,2,4,1 B) 3,2,1,4 C) 4,2,3,1 D) 1,3,2,47.设计递归问题的非递归算法一般需要用到哪个机制?( B )A) 数组 B) 堆栈

12、C) 队列 D) 二叉树3、判断题1.栈的特点是先进先出。(先进后出 )2.可以在队列的任意位置插入元素。( 栈可以在任意位置插入 )3.递归程序化非递归程序必须用到栈。( 不一定要用栈,但用栈一定可以实现 )4.如果进栈的序列为(1,2,3,4),则(4,2,3,1)不可能是出栈序列。(正确 ) 5.在用顺序表表示的循环队列中,可用标志位来区分队空或队满的条件。( ) 4、程序填空题1. 下列程序的功能是将一个10进制正整数x转化为n(2=n0 5. 具有2000个结点的二叉树,其高度至少为( C )。(A) 9 (B) 10 (C) 11 (D) 13、判断题1.二叉树的左右子树次序是严格

13、的,不能够任意改变。( 正确 )2.若根为第一层,则深度为k的满二叉树的结点为2k-1 。 ( 正确)3.二叉树的三叉链表存储结构可以方便的访问到双亲结点。 ( 正确 )4、应用题1.在一段文字中,共出现a、b、c、d、e、f六种字符,每种字符出现的频率分别为7,9,12,22,23,27。请回答下列问题:(1)什么是哈夫曼树?(带权路径最小的二叉树,称为哈夫曼输)(3分)(2)根据题目所给频率值,画出相应的哈夫曼树。(11分)(3)给出各个字符对应的哈夫曼编码。(左子树的边编码为0,右子树的边编码为一,然后按自顶向下写)(6分)(4)该段文字经过哈夫曼编码后,长度是多少。(各子树根节点的值的

14、和)(4分)参考答案如下:(1)答案为: (3分)(2)根据题目所给频率值,画出相应的哈夫曼树。(11分,每个结点1分)(3)给出各个字符对应的哈夫曼编码。(6分) (4)该段文字经过哈夫曼编码后,长度是多少。(4分) 2. 设一棵二叉树的先序遍历序列为abcde,中序遍历序列为badce,请画出对应的二叉树,并写出对应后序遍历序列。(15分) 3. 通信报文中出现的字符A、B、C、D、E,在报文中出现的频率分别为0.23、0.2、0.32、0.12、0.13,分别给出相应字符的哈夫曼编码(要求画出哈夫曼树,并且把权值小的结点放在左边)。(共14分) 4. 某二叉树结点的中序序列为H,B,C,

15、D,E,F,G,后序序列为B,D,C,H,F,G,E,请据此画出该二叉树,再给该树加上中序线索。(共15分) 5.请证明对于任何一棵二叉树,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。(10分) 6.请按照孩子-兄弟表示法,将图1所示树转化为二叉树。(共14分) 7.设二叉树如图2所示。分别写出它的先序遍历、中序遍历、后序遍历序列。(共15分)8. (1)写出如图所示二叉树的中序遍历结果。(8分)(2)画出二叉树的中序后继线索。(10分) 9.已知某二叉树的前序遍历序列为:A B C D E F G和中序遍历序列为:C B E D A F G。请画出该二叉树。 10.已知通

16、信联络中只可能出现A、B、C、D、E、F、G、H共8种字符,其出现次数分别为5,28,7,9,14,23,3,11次。(1)请画出赫夫曼树(权值小的结点在左边)。(15分)(2)计算该树的带权路径长度。(3分) 5、读程序写结果已知二叉树的结点结构如下: struct Node int data; Node *lchild,*rchild;某棵二叉树的形态如右图:根据要求解答下题:1、 (共5分)int fun1(Node *root) if(root=0) return 0; int l,r; l=fun1(root-lchild); r=fun1(root-rchild); if(l=r)

17、 return l+1; else return r+1; (1)当root是指向结点A的指针时,函数fun1的返回值是多少?(2分) (2)函数fun1的功能是什么?(3分)2、 (共6分)int fun2(Node *root) if(root=0) return 0; int l=fun2(root-lchild ); int r=fun2(root-rchild ); return l+r+1; (1)当root是指向结点A的指针时,函数fun1的返回值是多少?(2分) (2)函数fun1的功能是什么?(4分) 第7章 图1、填空题1. 有n个顶点的有向连通图最多有 条边,最少有 条边

18、。2.具有n个顶点的完全无向图有_条边,完全有向图有_条边。2、选择题1. _方法可以判断出一个有向图中是否有环(回路)。(A)深度优先遍历 (B)拓扑排序(C)求最短路径 (D)求关键路径2.关键路径是指_。(A)从开始事件到终止事件路径长度最短的路径(B)从开始事件到终止事件路径长度最长的路径(C)从开始事件到终止事件活动最少的路径(D)从开始事件到终止事件活动最多的路径3. 在一个图中,所有顶点的度数之和等于所有边数的_倍。A) 1/2 B) 1 C) 2 D) 44. 若连通图的顶点个数为n,则该图的生成树的边数为_条。5.图的遍历方式有_和_两种。3、判断题1.具有n个顶点的有向图最

19、多有n*(n-1)条边。 ( )2.在AOV-网中,不应该出现有向环,因为存在环就意味着活动可以以自己为先决条件。( )4、应用题1、已知某图的存储结构如下,试写出该图从顶点A开始的深度优先遍历序列。(11分)ABCDEFGHIJKA01111100000B00000010000C00000001000D00000000100E00000000010F00000000001G01000000000H00100000000I00010000000J00001000000K00000100000 2. 请给出图1的所有最小生成树。(10分) 3. 请给出图2的所有拓扑排序序列。(16) 4、对于有

20、向无环图(如图2),写出它的所有不同的拓扑有序序列。(共16分) 6. 已知某图采取如图2所示的邻接矩阵表示法,请回答下列问题。(共12分) 01234561A10110002B21001103C31000114D40100005E50110006F6001000图2(1) 请画出该图。(6分)(2)对其从顶点A开始进行深度优先遍历,写出遍历序列。(6分)(1) 7、(本题总计 7 分)构造该图的最小生成树。 图的最小生成树如下 每条边1分,共7分 8.给定数据结构,V为结点的有限集合,V=v1,v2,v3,v4,v5,v6,v7,v8, E是V上关系的集合。 E=, 它对应的图形是A。图的存储结构主要有邻接表和B,若用邻接表来存储一个图,则需要保存一个C存储的结点表和若干个D存储的关系表(又称边表)。

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

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