数据结构老师给的复习要点严蔚敏版

上传人:1516****951 文档编号:136792440 上传时间:2020-07-02 格式:DOC 页数:6 大小:107.50KB
返回 下载 相关 举报
数据结构老师给的复习要点严蔚敏版_第1页
第1页 / 共6页
数据结构老师给的复习要点严蔚敏版_第2页
第2页 / 共6页
数据结构老师给的复习要点严蔚敏版_第3页
第3页 / 共6页
数据结构老师给的复习要点严蔚敏版_第4页
第4页 / 共6页
数据结构老师给的复习要点严蔚敏版_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《数据结构老师给的复习要点严蔚敏版》由会员分享,可在线阅读,更多相关《数据结构老师给的复习要点严蔚敏版(6页珍藏版)》请在金锄头文库上搜索。

1、数据结构老师给的复习要点严蔚敏版第一章1. 怎样理解“算法+数据结构=程序”这个公式?举例说明。算法是语句序列解决特定问题的固有程序片段。数据结构是确定数据间的关系。从具体问题抽象出一个合适的数学模型、然后设计一个解决此数学模型的算法,最后编写出程序。寻求数学模型的是指就是数据结构要完成的工作。参看书p1前两段的描述。2. 数据结构的概念,它包含哪三方面的内容?数据结构:是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间饿关系和操作的学科。参看书p3包含三方面的内容:1、数据之间的逻辑关系2、数据在计算机中的存储方式3、在数据上定义的运算的集合。3. 数据、数据元素、数据项的基本

2、概念。举例说明数据元素和数据项的联系与区别。数据:描述客观事物的数字、字符以及所有能直接输入到计算机中并被计算机程序处理的符号的集合。数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑或处理。数据项:数据项是具有独立含义的最小标识单位,是数据元的一个具体值,是数据记录中最基本的、不可分的有名数据单位。例1: class Aint c123;int i;class BA a;B b;b.a是数据项,B是数据元素例2:一本书的数目信息为一个数据元素,而数目信息中每一项(如书名、作者名等)为一个数据项4. 从逻辑结构来看,数据结构有哪四种基本结构,各自的特点是什么?1、集合(数据元素之

3、间同属于一个集合,再无其他关系)2、线性结构(数据元素之间存在一对一的关系)3、树形结构(数据元素之间一对多的关系)4、图状结构或网状结构(数据元素之间多对多的关系)5. 从物理结构来看,数据结构有哪两种基本结构,各自的特点是什么? 1、顺序存储结构特点:借助元素在存储器中的相应位置来表示数据元素之间的逻辑关系。 2、链式存储结构 特定:借助元素在存储地址的指针表示数据元素之间的逻辑关系。6. 算法的5个特征,4个评价标准是什么?特征:有穷性、确定性、可行性、输入、输出。评价标准:正确性、可读性、健壮性、效率与低存储量需求。7. 描述时间复杂度。(1)x=0; y=0; z=0;for (i=

4、1; i=n; i+) x+; for( j=1; j=n; j+) y+;for( k=0; knext=p; q-next=s; 或者s-next=q-next; q-next=s;8. 在单链表中,w所指结点是s所指结点的直接前驱结点删除s结点,写出执行的两条语句。w-next=s-next;free(s)9. 画图说明单循环链表为空的状态,并写出循环链表判断是否为空的语句。参看书P35图2.12(b) 判空语句H-next=H10. 双向链表中,要在指针q指向的结点后插入新结点t,写出执行的四条语句。t-prior=q ; t-next=q-next ; q-next=t ; t-ne

5、xt-prior=s11. 双向链表中,要删除指针q的后继结点,写出执行的两条语句。T=q-next ; q-next=t-next ; free(t); 或者t=q-next;q-next-q-next-next; free(t)第三章 栈和队列1. 判断对错(1)栈和队列是操作受限的线性表。P(2)栈的插入操作只需要在表尾端进行,队列的插入操作只需要在表头进行。O(3)栈的操作只和栈顶指针TOP相关,队列的操作只和队头指针FRONT相关。O2. 栈的特点是?队列的特点是?(先进先出、先进后出中选择)栈的特点是先进后出(FILO)队列的特点是先进先出(FIFO)3. 用文字描述算法。(参照我

6、写的(1)的算法描述完成)(1)顺序存储的栈插入操作算法描述:(2)顺序栈的删除操作算法描述:第一步,判断栈是否为空,如果栈空,不能进行删除操作;第二步,栈不空的时候,栈顶指针TOP减1,向下移动一位;第三步,将要删除的栈顶元素用新变量保存;第三步,栈顶指针TOP加1(3)链式存储的队列的插入操作算法描述:第一步,利用指针创建新结点,新节点的数据域值为要入队列的元素,新结点的指针域复制为NULL;第二步,将链队列的尾节点链接上新结点;第三步,修改链队列的尾指针的指向,让它指向新结点;(4)链栈的删除操作算法描述:第一步,利用指针创建新结点,新节点的数据域值为要入栈的元素,新结点的指针域复制为N

7、ULL;第二步,新结点的指针域指向链栈的头结点;第三步,修改链栈的头指针TOP的指向,让它指向新结点;4. 假设栈为S,写出判断语句typedef struct sqstack int datamax; int top;sqstack ;sqstack *s;(1)顺序栈为空的条件判断语句 s-top= =0(2)顺序栈为满的条件判断语句 s-top = =max5. 假设队列为Q,写出判断语句typedef struct SqQueue int dataMAX; int front; int rear; /*定义队头指针Front 和队尾指针Rear*/ ;SqQueue *Q(1)循环队列

8、为空的条件判断语句 Q-rear= =Q-front(2)循环队列为满的条件判断语句 (Q-rear+1)%MAX= =Q-front6. 总结说明,线性表的顺序存储与链式存储的区别?参看书P27第一段第六章 树和二叉树1. 一棵二叉树的广义表表示为a(b(c,d),e(f(,g),它含有双亲结点(4)个,单分支结点(2)个,叶子结点( 3)个。二叉树根为a;a有左孩子b,右孩子e;b有左孩子c,右孩子d;e只有左孩子f,f只有右孩子g2. 判断对错(1) 在树中,如果从结点K出发,存在两条分别到达K,K的长度相等的路径,则结点K,K互为兄弟。O,还可能是堂兄结点(2) 完全二叉树的某结点若无

9、左孩子,则必是叶结点。P,由完全二叉树的性质决定(3) 一棵完全二叉树按层次遍历的序列为,则在后序遍历中结点的直接后继是。P由于是完全二叉树,所以树中第一层是A ,第二层从左向右是B和C,第三层是D、E、F、G,第四层从左向右是H和I。画出二叉树,进行后序遍历,后序遍历序列为HIDEBFGCA。(4) 二叉树的后序遍历序列中,任意一个结点均处在其子树结点的后面。P后序遍历算法决定的,左、右、根(5) 由二叉树结点的先根序列和后根序列可以唯一地确定一棵二叉树。O不唯一,因为只有在中序遍历中才能划分左右子树(6) 树存储时采用双亲表示法时,求某个结点的孩子时需要遍历整个结构。P(7) 一棵有n(n

10、1)个结点的d叉树,若用多重链表表示,树中每个结点都有d个链域,则在树的nd个链域中,有n(d-1)+1个是空链域,只有n-1个是非空链域。P根据树的特性:一对多,每个结点都有且仅有一个双亲结点,除了根结点外。因此,n个结点的树中有n-1个结点都有且仅有一个双亲,这个关系表示在链式存储里就一定会占用它双亲的一个指针域,所以树中一定有n-1个非空指针域,多叉树也适用。(8) 在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加2。P解:二叉链表中有n个结点时,一定存在2n个指针域,n+1个空链域,则非空链域为n-1个,所以,空链域=非空链域+2(9) 树的后根遍历序列等同于该树对应的二叉树的中

11、序遍历。P,参看书P138笔记(10)树利用孩子兄弟表示法转换后的二叉树中根结点一定不存在右子树。P,参看书P137页最后一句话3. 二叉树根结点的层次为1,所有含有15个结点的二叉树中,最小高度是( 4 )。要想得出最小高度,必须是完全二叉树才能保证,因此这个题目考核的是有15个结点的完全二叉树的高度是?参看二叉树性质4,即可得出4. 设一棵二叉树结点的先根序列为ABDECFGH,中根序列为DEBAFCHG,则二叉树中叶子结点是( E F H )。参看书P154例题5. 树的存储结构有几种?分别是?二叉树的存储结构有几种,分别是?树的存储结构有三种:双亲表示法、孩子表示法、孩子兄弟表示法二叉

12、树的存储结构有两:顺序存储、链式存储(又叫二叉链表的表示法)在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加( 2 )。6. 若二叉树有7个度为2的结点,试问有?个终端结点。由二叉树的性质3得出,n0=n2+1,所以度为1的终端结点有7+1=8个7. 一棵有124个叶结点的完全二叉树,最多有?个结点。首先,由二叉树的性质3得出,度为2的结点个数为124-1=123个;又根据二叉树的定义可以得出这样的结论:完全二叉树的前n-1层8. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是?500解:设分支总数变量为b,则n=b+1,得出分支数为1000。分支数是偶数,所以不存在度为1的结点,只有度为2的结点和叶子结点。根据性质3,n0=n2+1,所以1001= n0+n2= 2*n0+1。n0=500。9. w=4,5,6,7,8,如何构建哈夫曼树?第9章 查找1. 查找表的概念?这是四种经典数据结构中的哪一种?2. 静态查找和动态查找有什么联系和区别?3. 查找表中的关键字是数据元素还是数据项,有什么特点?4. ASL表示什么?写出计算的公式,并解释公式中每个变量的含义。5. 描述顺序查找的算法思想(用汉字描述,不是代码)6. 描述折半查找的算法思想。7. 给定由以下元素组成的关键字序列(55,46,89,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号