收藏 分享(赏)

计算机软件基础二-2数据结构-复习指导.ppt

上传人:HR专家 文档编号:5229441 上传时间:2019-02-13 格式:PPT 页数:55 大小:143KB
下载 相关 举报
计算机软件基础二-2数据结构-复习指导.ppt_第1页
第1页 / 共55页
计算机软件基础二-2数据结构-复习指导.ppt_第2页
第2页 / 共55页
计算机软件基础二-2数据结构-复习指导.ppt_第3页
第3页 / 共55页
计算机软件基础二-2数据结构-复习指导.ppt_第4页
第4页 / 共55页
计算机软件基础二-2数据结构-复习指导.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、清华大学现代远程教育 * 专升本课程,1,数据结构期末辅导,清华大学现代远程教育 * 专升本课程,2,辅导内容,一、期末考试题型及解题要点 二、各章知识点和学习要求* 思考题讲解 三、课程小结 四、最后阶段的学习要求,清华大学现代远程教育 * 专升本课程,3,一、期末考试题型及解题要点,清华大学现代远程教育 * 专升本课程,4,期末考试题型及解题要点,拟卷考虑的因素,各章都要有题目 题目分数、难度要与学习要求相挂钩 适当考虑日常的作业布置 题型多样、灵活 参考往年和校外试卷及水平 兼顾学员的实际情况,清华大学现代远程教育 * 专升本课程,5,期末考试题型及解题要点,考试题型,术语解释题=掌握基

2、本概念的准确性/完整性 判断正误题=对知识的理解程度和掌握的深度 填空题=掌握所涉及知识的准确性、计算能力 简答题=理解能力,掌握知识的深度和灵活性 证明题=逻辑推理能力 算法编程题=问题理解/模型选择/编程技巧,清华大学现代远程教育 * 专升本课程,6,期末考试题型及解题要点,术语解释题 解题要点:力求准确、完整,体现对概念的理解并且要细心留意书中每一个概念 例:解释下列术语数据结构:数据类型:,是研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的一门学科。 是相互之间存在一种或多种关系的数据元素的集合。,是一个值的集合和定义在这个值集上的一组操作的总称。,清华大学现

3、代远程教育 * 专升本课程,7,期末考试题型及解题要点,判断正误题,有n个结点、形状相同的二叉树有n!棵。 有n个结点的不同的二叉树有n!棵。 所有时间复杂度为O(n2)的排序方法是稳定的。 简单选择排序是一种不稳定的排序方法。,解题要点:有些可直接从书中找到答案,有些需要分析判断或计算才能解答。 例:,(正确) (错误) (错误) (正确),清华大学现代远程教育 * 专升本课程,8,期末考试题型及解题要点,例: (1)多叉路口信号灯的控制问题的数学模型是一种称为 (1) 的 (2) 。 (2)设有广义表D(a, b, D), 其长度为 (8) , 深度为 (9) .,填空题 解题要点:对教材

4、内容要熟,真正理解问题注意有些问题须经过判断和计算,答案:(1) 图 (2) 数据结构,答案:(8) 3 (9) 无穷大(),清华大学现代远程教育 * 专升本课程,9,期末考试题型及解题要点,例:设有一个递归算法如下:int X(int n) if (n=3) return 1;else return X(n-2)+X(n-4)+1; 则计算X(X(6)时需要计算 次X函数,最后结果为 。,填空题解题要点:对教材内容要熟,真正理解问题注意有些问题须经过判断和计算,答案:(17) 5 (18) 3,清华大学现代远程教育 * 专升本课程,10,期末考试题型及解题要点,简答题=理解能力,掌握知识的深

5、度和灵活性解题要点:正确理解问题;深刻理解基本概念和知识;举一反三,灵活运用;完整解答,例: (1)有人说,mn阶矩阵是一种广义表结构,你认为是否正确?请说明你的理由。 (2)通常说数据结构是一个二元组(D,R),其中的D、R分别代表什么?,清华大学现代远程教育 * 专升本课程,11,期末考试题型及解题要点,5. 证明题=逻辑推理能力 解题要点:理解问题,发现规律,细心推导,例: 证明在一个有n个元素的有序的顺序表中插入一个新元素并保持表的有序性,平均需移动n/2个元素。 证明:在一个有n个元素的有序表中插入一个新元素并保持表的有序性,一共可以有n+1个插入位置,所对应的移动记录数分别0,1,

6、2,n。因此平均移动次数为(0+1+2+n)/(n+1)=n(n+1)/(n+1)/2=n/2,清华大学现代远程教育 * 专升本课程,12,期末考试题型及解题要点,算法编程题=问题理解/模型选择/编程技巧 解题要点:认真分析问题,确定适当的数据结构 画出算法流程图,正确编程,例: L是一个单循环链表,pa和pb分别为L中的两个结点。试编写算法,将L分割为分别由pa和pb为首元结点的两个新的单循环链表。 答案:参见第二次辅导作业题2.9。,清华大学现代远程教育 * 专升本课程,13,题集2.9题,简述以下算法的功能。 (2)void BB(LNode *s, LNode *q ) p =s ;w

7、hile (p-next!=q) p =p-next ;p-next =s; /BBvoid AA(LNode *pa, LNode *pb) / pa和pb分别指向单循环链表中的两个结点BB(pa, pb);BB(pb, pa); /A,清华大学现代远程教育 * 专升本课程,14,二、各章知识点和学习要求,清华大学现代远程教育 * 专升本课程,15,第一章 绪论,概念:数据,数据结构数据元素,数据项等 抽象数据类型数据类型数据抽象与抽象数据类型表示与实现,清华大学现代远程教育 * 专升本课程,16,算法特性有穷性,确定性,可行性,输入,输出 算法的性能分析与度量 算法设计目标:正确,健壮,可

8、读,低时空需求 空间复杂度度量 时间复杂度度量 不同数量级时间复杂度的比较,第一章 绪论,清华大学现代远程教育 * 专升本课程,17,思 考 题,算法与程序及流程图(框图)的关系 通常有哪几类基本数据结构 数据结构可以用一个二元组表示吗?如果可以,那么二元组的每个元素表示什么含义?,清华大学现代远程教育 * 专升本课程,18,第二章 线性表,1. 线性表的逻辑结构特性和类型定义首(元)结点-第一个结点 2. 线性表的两种存储结构的定义 3. 顺序表,顺序表的定义和特点顺序表操作算法描述及时间复杂度分析,清华大学现代远程教育 * 专升本课程,19,第二章 线性表,链表 单链表(有头指针,有/无头

9、结点) 循环链表(有头结点) 双向链表 链表操作算法描述及时间复杂度分析 有序表的类型定义及操作的实现,清华大学现代远程教育 * 专升本课程,20,相 关 例 题,去年考题:说出下面程序的功能,void algo1(Linklist / algo1 ( ),答案:实现单链表的原地逆置。,思考:如何实现顺序表的原地逆置?,清华大学现代远程教育 * 专升本课程,21,第三章 栈和队列,栈栈的定义栈的抽象数据类型栈的数组存储表示栈的链接存储表示有关栈的操作实现栈的应用: 表达式求值,清华大学现代远程教育 * 专升本课程,22,第三章 栈和队列,队列 队列定义队列的抽象数据类型队列的顺序存储表示双端队

10、列(输入受限/输出受限)循环队列队列的链接存储表示有关队列操作的实现队列的应用-离散时间模拟,清华大学现代远程教育 * 专升本课程,23,去年考题:理解程序功能,例:status algo4(Stack S) int i, n, A255;n=0;while (!StackEmpty(S) n+; Pop(S, An); for (i=1; i=n; i+)Push(S, Ai); / algo4( ),答案:利用数组A实现栈S中元素的逆转置。,相 关 例 题,清华大学现代远程教育 * 专升本课程,24,第四章 字符串,串的类型定义 串的取值(空,空格,字母,数字,其它字符) 串的存储表示定长

11、顺序,堆分配,块链 串的各种基本操作及其应用 串匹配的KMP算法(next函数的定义) 串的各种应用(文本编辑,建立词索引表),清华大学现代远程教育 * 专升本课程,25,void algo2 (SString S, SString T, SString R, Loc) int slen, rloc, i; SString U;slen=StrLength(S); R=;rloc=0; for (i=1; i=slen; i+) U=substring(S, i, 1);if (Index(T, U, 1) / algo2 ( ),去年考题:理解程序的功能,答案:求串S和串T中的共同元素组成的

12、新串R(重复字符只取一个),以及R中每个字符在S中第一次出现的位置,清华大学现代远程教育 * 专升本课程,26,例:int algo3 (SString S, SString T, int pos) / S0、T0存储S和T的长度。 i=pos; j=1;while (iT0) return i-T0else return 0; / algo3 ( ),答案:计算串T在串S中pos点之后的位置的定位函数。,去年考题:理解程序的功能,清华大学现代远程教育 * 专升本课程,27,第五章 数组和广义表,一、数组 数组的类型定义及特点元素类型,下标,线性关系=线性表扩展? 数组的两种顺序存储表示及其实

13、现,特别是以行为主的存储结构中的地址计算方法 特殊矩阵的定义及压缩存储时的下标变换对称矩阵,三角矩阵,对角矩阵, 4. 稀疏矩阵-稀疏因子,清华大学现代远程教育 * 专升本课程,28,第五章 数组和广义表,二、广义表 广义表的定义 广义表长度和深度的计算例:D=(a,b), D 广义表的特例 广义表与线性表的关系 广义表在LISP语言中的应用,清华大学现代远程教育 * 专升本课程,29,第六章 树和二叉树,树的(递归)定义及相关术语结点的度,树的深度,有序树/无序树,森林 二叉树的递归定义、形态、性质及证明方法 二叉树的存储结构及其适用范围、优缺点顺序存储-按完全二叉树,链式存储-空链数 二叉

14、树的(先序/中序/后序)遍历 树和森林及其遍历树的存储结构(3种),森林与二叉树的转换,清华大学现代远程教育 * 专升本课程,30,第六章 树和二叉树,树和等价问题(不做要求) 最优二叉树及哈夫曼算法/编码 回溯法与树的遍历(不做要求) 树的计数(不做要求),清华大学现代远程教育 * 专升本课程,31,思 考 题,二叉树与树有何联系和区别? 用一维数组存储二叉树时,以何种顺序存储结点? 度为k的树中第i层上至多有多少个结点? 具有n个(n0)结点的完全二叉树的深度是多少?log2(n+1)?log2n+1?其它值? 你在日常生活中遇到哪些问题可以用树结构来表示?,清华大学现代远程教育 * 专升

15、本课程,32,第七章 图,图的定义和术语有向/无向图,(有向)完全图,稀疏/稠密图顶点的度(出度/入度),回路,简单路径图的生成树/森林 图的四种存储结构及其应用范围邻接矩阵,(逆)邻接表,十字链表,邻接多重表 图的两种遍历策略深度优先搜索,广度优先搜索,清华大学现代远程教育 * 专升本课程,33,第七章 图,图的连通性问题强连通图,(强)连通分量,(最小)生成树关节点和重连通图(不做要求) 图的拓扑排序: AOV网 图的关键路径:AOE网 最短路径问题某点到其它各点的最短路径-Dijkstra算法每对顶点之间的最短路径-Floyd算法,清华大学现代远程教育 * 专升本课程,34,思 考 题,

16、设G为具有n个顶点的无向连通图,那么G至少有多少条边 ?,清华大学现代远程教育 * 专升本课程,35,第九章 查找,查找的有关术语查找,查找表,(主/次)关键字,成功/不成功 静态查找表顺序表-平均查找长度,有序表-折半查找等静态树表-静态最优/次优查找树(不做要求)索引顺序表-分块查找=索引表+顺序表 动态查找表与静态查找的区别,清华大学现代远程教育 * 专升本课程,36,第九章 查找,二叉排序(查找)树的查找/建立树的特点,树的建立/查找过程,删除结点时的处理方法,查找性能分析 平衡二叉树(AVL树)定义,查找,平衡因子,为何平衡,如何平衡 B-树定义,查找,最大深度-最坏比较次数插入/删

17、除处理-分裂/合并 B+树,清华大学现代远程教育 * 专升本课程,37,第九章 查找,B+树定义,与B-树区别,两个头指针顺序查找,随机查找,插入,删除 键树-数字查找树定义,建树-对原始关键字集合的分割过程双链树-键树的孩子兄弟链表存储法Trie树-键树的多重链表存储法 哈希表术语:哈希表,哈希函数,冲突,散列(地址),清华大学现代远程教育 * 专升本课程,38,第九章 查找,构造方法:直接定址,数字分析,平方取中折叠,除留余数,随机数注意:除留余数法中p的取法选择哈希函数所考虑的因素关键字分布关键字大小情况计算时间记录的查找频率,清华大学现代远程教育 * 专升本课程,39,第九章 查找,处

18、理冲突方法:开放定址法-线性探测再散列-二次探测再散列-伪随机探测再散列再哈希法建立共用溢出区查找过程 - 与哈希函数和处理冲突方法相关查找分析 - 平均查找长度,装填因子,清华大学现代远程教育 * 专升本课程,40,去年考题,例:什么是哈希函数?什么是哈希表? 答:哈希函数是记录的关键字和它的存储位置之间的对应关系函数f,使每个关键字与结构中一个唯一的存储位置相对应,达到直接进行存储和查找的目的。哈希表是按照哈希函数思想建立的查找表。,清华大学现代远程教育 * 专升本课程,41,第十章 内部排序,排序的含义及术语排序方法的稳定性,内部/外部排序 插入排序直接插入排序,折半插入排序,2-路插入

19、排序表插入排序-要支持折半查找须重排记录 希尔排序-缩小增量排序-两次插入排序增量的取法与时间复杂度有关 起泡排序与快速排序:思想,性能分析,改进,清华大学现代远程教育 * 专升本课程,42,第十章 内部排序,选择排序简单选择排序,树形选择排序,堆排序 归并排序-2-路归并排序 基数排序多关键字排序:MSD,LSD链式基数排序:分配收集循环进行,直到最高位 内部排序方法比较比较/移动记录次数,稳定性,附加存储,清华大学现代远程教育 * 专升本课程,43,相 关 问 题,例:什么是插入排序?什么是选择排序? 答:每次从无序表中取出一个元素,插入到有序表的适当位置,称作插入排序.每次从无序表中选出

20、一个最大或最小元素,把它交换到有序表的一端,称作选择排序。,清华大学现代远程教育 * 专升本课程,44,第十一章 文件,基本概念(定长/不定长记录,单/多关键字)文件,记录的逻辑/物理结构,文件操作:检索/修改型 (多级)索引文件 ISAM文件和VSAM概念:索引文件,索引顺序文件,ISAM, VSAMISAM文件记录的插入和删除VSAM文件结构:索引集+顺序集+数据集,清华大学现代远程教育 * 专升本课程,45,第十一章 文件,直接存取文件-散列文件与哈希表的联系与区别,(基/溢出)桶,优缺点 多重表文件主索引(串联文件)+次索引(链表) 倒排文件主索引(串联文件)+次索引(倒排表),清华大

21、学现代远程教育 * 专升本课程,46,相关问题,例:什么是索引顺序文件? 答:包括文件数据区和索引表两大部分的文件称作索引文件。数据区中的记录按关键字顺序排列的索引文件称为顺序索引文件。,清华大学现代远程教育 * 专升本课程,47,三、课程小结,清华大学现代远程教育 * 专升本课程,48,主要讨论哪几种数据结构?,按数据的逻辑结构分:线性结构非线性结构,清华大学现代远程教育 * 专升本课程,49,清华大学现代远程教育 * 专升本课程,50,按数据的物理结构分:顺序结构链表结构散列结构索引结构,清华大学现代远程教育 * 专升本课程,51,学习数据结构需要注意些什么?,知识方面 系统掌握基本数据结

22、构的特点及其不同实现。 了解并掌握各种数据结构上主要操作的实现及其性能(时间、空间)的分析。,清华大学现代远程教育 * 专升本课程,52,技能方面 掌握各种数据结构的使用特性,在算法设计中能够进行选择。 掌握常用的递归、回溯、迭代、递推等方法的设计 掌握自顶向下、逐步求精的程序设计方法。,清华大学现代远程教育 * 专升本课程,53,算法编制时需要注意些什么?,正确性 前置(先决)条件、后置条件 可读性 清晰性、一致性、简明性 结构性、模块性 健壮性(容错性) 时间和空间消耗低,清华大学现代远程教育 * 专升本课程,54,四、最后阶段的学习要求,清华大学现代远程教育 * 专升本课程,55,最后阶段的学习要求,认真抓紧复习,读懂、吃透教材 多做练习题 细心体会考试指导 完成、补交作业 认真、规范、完整地完成实习大作业 考试时遵照试卷相关提示,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 行业软件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报