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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构复习知识点解析.docx

1、数据结构复习知识点解析第一章:概论知识点:1、 数据结构的基本概念:数据、数据元素、数据项等之间的区和联系。2、 数据的逻辑结构,数据的存储结构、数据的逻辑结构和存储结构各有哪些基本类型、数据的基本逻辑结构有什么特点。我们所学的几种常见的数据结构中(顺序表、链表、队列、栈、串、树、图等),哪些是线性数据结构,哪些是非线性数据结构?3、 算法复杂性的概念、内容和算法复杂性的计算。简单算法复杂性的判断:(1)sum=0;for(i=1;i=n;i+) sum=sum+i;其中i=1,2,3,k, 需频度k=n,所以复杂性为O(n)(2)i=1;while(i=n) i=i+2;其中i=1,3,5,

2、(2k-1),需2k-1=n,则频度k=(n+1)/2,复杂性为O(n)(3)i=1;while(i=n) i=i*3;其中i=1,3,32,3k, 需3k=n,则频度k=log3n,复杂性为O(log3n)(4)i=1;while(i*i=n) i+;其中i=1,2,3,k,需k2=n,则频度k=n1/2,复杂性为O(n1/2)习题:1、填空题(1)数据的逻辑结构包括: 、 、 、 ;(2)存储结构包括: 、 、 、 。(3)数据结构中评价算法的两个重要指标是 (4)下面程序段中带下划线的语句的执行次数的数量级是: i=1;while( in) i=i*2;(5)计算机执行下面的语句时,语句

3、s的执行次数为 _ 。 for(i=l;i=i;j-) s; (6)下面程序段的时间复杂度为_。(n1) sum=1; for (i=0;sumn;i+) sum+=1;2、选择题(1)算法的计算量的大小称为计算的( )。A效率 B. 复杂性 C. 现实性 D. 难度(2)算法的时间复杂度取决于( )A问题的规模 B. 待处理数据的初态 C. A和B(3)计算机算法指的是( ),它必须具备( ) 这三个特性。(1) A计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性 D. 易读性

4、、稳定性、安全性 (4)从逻辑上可以把数据结构分为( )两大类。A动态结构、静态结构 B顺序结构、链式结构 C线性结构、非线性结构 D初等结构、构造型结构(5)以下数据结构中,哪一个是线性结构( )? A广义表 B. 二叉树 C. 稀疏矩阵 D. 串(6)在下面的程序段中,对x的赋值语句的频度为( )for(i=1;i=n;i+)for(j=1;j=1;i-)for(j=1;jAj+1 THEN Aj与Aj+1对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是( )A. O(n) B. O(nlogn) C. O(n3) D. O(n2) (8)以下数据结构中,( )是非线性数据结构A

5、树 B字符串 C队 D栈(9)连续存储设计时,存储单元的地址( )。A一定连续 B一定不连续 C不一定连续 D部分连续,部分不连续3、问答题(1)数据元素之间的关系在计算机中有几种表示方法?各有什么特点? (2)数据的逻辑结构有哪些基本类型? (3)数据的存储结构由哪四种基本的存储方法实现? 第二章:线性表知识点:1、 线性表的基本概念和两种存储方式:顺序存储、链式存储2、 顺序表的概念、数据结构、存储,插入、删除运算及其时间复杂度;顺序表的特点:随机存储3、 单链表的存储、插入、删除运算特点?是否可以随机存取?访问、增加或者删除结点时的时间复杂度?4、 单链表中插入结点和删除结点的基本步骤?

6、头指针与头结点之间的根本区别,头结点与首元结点的关系?在链表里面,引入头结点有什么作用?5、 有头结点、无头结点的单链表为空的条件分别是什么?有头结点:L-next = NULL,无头结点:L=NULL习题:1、选择题(1)下述哪一条是顺序存储结构的优点?( )A存储密度大 B插入运算方便 C删除运算方便 D可方便地用于各种逻辑结构的存储表示(2)下面关于线性表的叙述中,错误的是哪一个?( )A线性表采用顺序存储,必须占用一片连续的存储单元。B线性表采用顺序存储,便于进行插入和删除操作。C线性表采用链接存储,不必占用一片连续的存储单元。D线性表采用链接存储,便于插入和删除操作。(3)线性表是具

7、有n个( )的有限序列(n0)。 A3表元素 B字符 C数据元素 D数据项 E信息项(4)链表不具有的特点是( ) A插入、删除不需要移动元素 B可随机访问任一元素 C不必事先估计存储空间 D所需空间与线性长度成正比(5) 下面的叙述不正确的是( )A线性表在链式存储时,查找第i个元素的时间同i的值成正比 B. 线性表在链式存储时,查找第i个元素的时间同i的值无关C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关(6)若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )(1=i=n+1)

8、。A. O(0) B. O(1) C. O(n) D. O(n2) (7)对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( )。AO(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)(8)线性表( a1,a2,an)以链接方式存储时,访问第i位置元素的时间复杂性为( )AO(i) BO(1) CO(n) DO(i-1)2、填空(1)当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_ _存储结构。(2)线性表L=(a1,a2,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元

9、素平均需要移动元素的个数是_ _。(3)在一个长度为n的顺序表中第i个元素(1=i=n)之前插入一个元素时,需向后移动_ 1_个元素。(4)在单链表中设置头结点的作用是_ _。(5)链接存储的特点是利用_来表示数据元素之间的逻辑关系。(6)顺序存储结构是通过_ _表示元素之间的关系的;链式存储结构是通过_表示元素之间的关系的。(7) 对于双向链表,在两个结点之间插入一个新结点需修改的指针共 _个,单链表为_个。(8)在单链表L中,指针p所指结点有后继结点的条件是:_ (9)线性结构包括_、_、_和_。线性表的存储结构分成_ _和_ _。3、应用题(1)线性表有两种存储结构:一是顺序表,二是链表

10、。试问:如果有 n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。在此情况下,应选用哪种存储结构? 为什么?若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么? (2)说明在线性表的链式存储结构中,头指针与头结点之间的根本区别;头结点与首元结点的关系。(3)删除顺序表中所有的正数,要求移动次数小。搜索顺序表,对每一个正数,先不删除,而是累计当前正数个数s,于是,对每个非正数,将它一次性前移s位。算法复杂性为O(n)。void dels(sqlist *L) int s,i; s=0; /正数计数

11、器 for(i=0;in;i+) if(L-datai0 s+; /累计当前正数 else if(s0) L-datai-s=l-datai;/向前移动s位 L-n=L-n-s; /调整表长还可以删除顺序表中所有的负数、字符等,主要是删除数据的条件不一样(4) 单链表算法运用,如链表合并,将两个有序表合并为一个有序表lklist purge(lklist A,lklist B) pointer C,p,q,r; p=A-next;q=B-next; C=A;r=C; /取A头结点作C头结点 while(p!=NULL & q!=NULL) if(p-datadata) rnext=p;r=p;

12、p=p-next; else rnext=q;r=q;q=q-next; if(p!=NULL) r-next=p; /A表有剩余结点 else r-next=q; delete B; /释放B头结点 return C;第三章 栈、队列和串知识点:1、 栈的定义、栈顶、栈底、运算特点(先进后出),顺序实现和链接实现及其特点,栈的应用2、 队列的概念,队头、队尾、运算特点(后进后出),顺序实现、循环队列、链队列3、 串的概念和串长的计算习题1、 选择题(1) 对于栈操作数据的原则是( )。A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序(2) 栈在( )中应用。A. 递归调用 B.

13、 子程序调用 C. 表达式求值 D. A,(3) 一个递归算法必须包括()。A. 递归部分 B. 终止条件和递归部分 C. 迭代部分 D.终止条件和迭代部分(4) 用链接方式存储的队列,在进行删除运算时( )。A. 仅修改头指针 B. 仅修改尾指针 C. 头、尾指针都要修改 D. 头、尾指针可能都要修改(5) 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。A仅修改队头指针 B. 仅修改队尾指针 C. 队头、队尾指针都要修改 D. 队头,队尾指针都可能要修改(6)递归过程或函数调用时,处理参数及返回地址,要用一种称为( )的数据结构。A

14、队列 B多维数组 C栈 D. 线性表(7)栈和队列都是( )A顺序存储的线性结构 B. 链式存储的非线性结构C. 限制存取点的线性结构 D. 限制存取点的非线性结构2、 应用题(1)名词解释:栈、队列? (2)简述顺序存储队列的假溢出的避免方法及队列满和空的条件。第4章 多维数组和广义表知识点:1、多维数组的定义,对于一个多维数据,如何计算里面元素的个数?在存储多维数组时,如果已知首元素的存储地址,如何求数组里面任意元素的存储地址?(注意,行优先、列优先、元素的长度)2、广义表的概念、表长、深度、表头、表尾;广义表的取表头和取表尾操作;注意,取表头去的是原则取表尾得到的是表,会利用广义表的取表

15、头和取表尾操作分离广义表的原子。习题:1、选择题(1) 将一个A1.100,1.100的三对角矩阵,按行优先存入一维数组B1298中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为( )。供选择的答案:A. 198 B. 195 C. 197 (2)设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B1.n(n+1)/2中,对上述任一元素aij(1i,jn,且ij)在B中的位置为( )。A. i(i-l)/2+j B. j(j-l)/2+i C. j(j-l)/2+i-1 D. i(i-l)/2+j-1(3)设二维数组A1. m,1.

16、 n(即m行n列)按行存储在数组B1. m*n中,则二维数组元素Ai,j在一维数组B中的下标为( )。A.(i-1)*n+j B.(i-1)*n+j-1 C. i*(j-1) D. j*m+i-1(4)数组A0.4,-1.-3,5.7中含有元素的个数( )。A. 55 B. 45 C. 36 D. 16 (5)广义表A=(a,b,(c,d),(e,(f,g),则下面式子的值为( )。Head(Tail(Head(Tail(Tail(A)A. (g) B. (d) C. c D. d(6) 广义表运算式Tail(a,b),(c,d)的操作结果是( )。A. (c,d) B. c,d C. (c,

17、d) D. d(7)广义表(a,b,c,d)的表头是( ),表尾是( )。A. a B.() C.(a,b,c,d) D.(b,c,d)2、填空题(1)设广义表L=(),(), 则head(L)是(1) _;tail(L)是(2) _;L的长度是(3) _;深度是 (4)_ _。(2)已知广义表A=(9,7,( 8,10,(99),12),试用求表头和表尾的操作Head( )和Tail( )将原子元素99从A中取出来。 (3)广义表的深度是_ _。(4)广义表(a,(a,b),d,e,(i,j),k)的长度是 ,深度是 _。(5)已知广义表LS=(a,(b,c,d),e),运用head和tai

18、l函数取出LS中原子b的运算是_ _。(6)广义表A=(a,b),(c,d,e),取出A中的原子e的操作是: _ _ _。第五章 树形结构知识点:1、 树的概念、根、度、兄弟、路径、叶子、孩子、双亲、高度、深度、层数;根据一棵树,能够知道它的度、根节点、叶子结点、深度等;根据树中的某个结点,可以找出它的孩子结点;2、 二叉树的概念、性质和几种特殊形态的二叉树及其特点:斜树、满二叉树、完全二叉树3、 二叉树的存储(顺序存储,适合完全二叉树;链式存储)4、 二叉树的遍历及其应用(先根、中根和后根遍历)5、 二叉树的双序列生成(先根和中根或者中根和后根生成二叉树)6、 树和森林的概念、树和森林与二叉

19、树的相互转换方法、以及转换的二叉树的特点,树和森林的遍历7、 哈弗曼编码的概念和哈弗曼树的构造题目1、 选择题(1)已知一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( )A-A+B*C/DE B. -A+B*CD/E C-+*ABC/DE D. -+A*BC/DE(2)设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为( )A5 B6 C7 D8(3)在下述结论中,正确的是( )只有一个结点的二叉树的度为0; 二叉树的度为2; 二叉树的左右子树可任意交换;深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。

20、 A B C D(4)设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是( )Am-n Bm-n-1 Cn+1 D条件不足,无法确定 (5)若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )A9 B11 C15 D不确定 (6)在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( )个A4 B5 C6 D7 (7)设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( )。AM1 BM1+M2

21、CM3 DM2+M3(8)具有10个叶结点的二叉树中有( )个度为2的结点, A8 B9 C10 Dll(9)一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )A 250 B 500 C254 D505 E以上答案都不对 (10)设给定权值总数有n 个,其哈夫曼树的结点总数为( ) A不确定 B2n C2n+1 D2n-1(11)有关二叉树下列说法正确的是( )A二叉树的度为2 B一棵二叉树的度可以小于2 C二叉树中至少有一个结点的度为2 D二叉树中任何一个结点的度都为2(12)二叉树的第I层上最多含有结点数为( )A2I B 2I-1-1 C 2I-1 D2I -1(13) 一个具

22、有1025个结点的二叉树的高h为( )A11 B10 C11至1025之间 D10至1024之间(14)一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点A2h B2h-1 C2h+1 Dh+1 (15)在一棵高度为k的满二叉树中,结点总数为( )A2k-1 B2k C2k-1 Dlog2k+1(16)一棵树高为K的完全二叉树至少有( )个结点A2k 1 B. 2k-1 1 C. 2k-1 D. 2k(17)一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( )ACABDEFG BABCDEFG CDACEFBG DADCFEG (18)已知一棵二叉树

23、的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。ACBEFDA B FEDCBA C CBEDFA D不定 (19)某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E 则前序序列是:( ) AE,G,F,A,C,D,B BE,A,C,B,D,G,F CE,A,G,C,F,B,D D上面的都不对 (20)二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK;中序遍历: HFIEJKG 。该二叉树根的右子树的根是: ( )A、 E B、 F C、 G D、 H 2、 填空题(1)二叉树由_(1) _,_(2) _,_(3)

24、_三个基本单元组成。(2)具有256个结点的完全二叉树的深度为_。(3)深度为k的完全二叉树至少有_(1) _个结点,至多有_(2) _个结点。(4)深度为H 的完全二叉树至少有_(1) _个结点;至多有_(2) _个结点;H和结点总数N之间的关系是 (3)。(5)假设根结点的层数为,具有个结点的二叉树的最大高度是_ _。(6)在一棵二叉树中,度为零的结点的个数为N0,度为2的结点的个数为N2,则有N0 =_ _(7)高度为K的完全二叉树至少有_个叶子结点。(8)高度为8的完全二叉树至少有_个叶子结点。(9)已知二叉树有50个叶子结点,则该二叉树的总结点数至少是_。(10)层完全二叉树至少有_

25、个结点,拥有100个结点的完全二叉树的最大层数为_。3、 应用题(1)树所有结点的度数之和与结点数有何关系?与边数有何关系?二叉树(或者树中),度为0的结点数与度不为0的结点树有何关系?(2)已知一棵二叉树的对称序和后序序列如下:中序:GLDHBEIACJFK 后序: LGHDIEBJKFCA(1) 出这棵二叉树,并写出该二叉树的先序序列:(2) 写出这棵二叉树的根节点、叶子节点、度为1的节点、度为2的节点(3) 转换为对应的森林:(3)从概念上讲,树,森林和二叉树是三种不同的数据结构,将树,森林转化为二叉树的基本目的是什么,并指出树和二叉树的主要区别。(4)二叉树的遍历算法及其应用,如求叶子

26、结点数、度为1的结点数、度为2的结点数,交换二叉树的左右子树、判断两棵二叉树是否等价等。第6章 图知识点1、 图的概念:有向图、无向图、完全图、连通图、强连通图、邻接点、顶点的度、出度、入度、路径2、 图的存储:有向图和无向图的邻接矩阵存储和邻接表存储,及其特点3、 图的深度优点遍历和广度优先遍历4、 生成树、最小生成树,Prim和Kruskal算法5、 有向无环图的应用:拓扑排序和关键路径(课件例题)习题1、选择题(1)图中有关路径的定义是()。A由顶点和相邻顶点序偶构成的边所形成的序列 B由不同顶点所形成的序列C由不同边所形成的序列 D上述定义都不是(2)设无向图的顶点个数为n,则该图最多

27、有( )条边。An-1 Bn(n-1)/2 C n(n+1)/2 D0 En2(3)一个n个顶点的连通无向图,其边的个数至少为( )。An-1 Bn Cn+1 Dnlogn;(4)要连通具有n个顶点的有向图,至少需要( )条边。An-l Bn Cn+l D2n(5)n个结点的完全有向图含有边的数目( )。An*n n(n) Cn2 Dn*(nl)(6)一个有n个结点的图,最少有( )个连通分量,最多有( )个连通分量。A0 B1 Cn-1 Dn(7)在一个无向图中,所有顶点的度数之和等于所有边数( )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( )倍。A1/2 B2 C1 D

28、4(8)下列哪一种图的邻接矩阵是对称矩阵?( )A有向图 B无向图 CAOV网 DAOE网(9)下列说法不正确的是( )。A图的遍历是从给定的源点出发每一个顶点仅被访问一次 C图的深度遍历不适用于有向图B遍历的基本算法有两种:深度遍历和广度遍历 D图的深度遍历是一个递归过程(10)下面哪一方法可以判断出一个有向图是否有环(回路): ( )A深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 求关键路径(11)已知有向图G=(V,E),其中V=V1,V2,V3,V4,V5,V6,V7,E=,G的拓扑序列是( )。AV1,V3,V4,V6,V2,V5,V7 BV1,V3,V2,V6,V4,V5,V7CV1,V3,V4,V5,V2,V6,V7 DV1,V2,V5,V3,V4,V6,V7(12)在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是( )。 AG中有弧 BG中有一条从Vi到Vj的路径 CG中没有弧 DG中有一条从Vj到Vi的路径 (13) 关键路径是事件结点网络中( )。A从源点到汇点的最长路径 B从源点到汇点的最短路径C最长回路 D最短回路(14)下面关于求关键路径的说法不正确的是( )。 A求关键路径是以拓扑排序

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

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