复习大纲2013.1.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
考试题型(30+40+30) 复习素材 看所有做过的作业,包括后来补充的但没有交和讲解的题目. 手里的材料可做参考,全部题目会做考试也不成问题。 课件 本复习大纲 实验题中的主要类的方法实现 第一章 1、四类数据结构,集合、线性表、树、图,线性表、树、图元素之间的关系分别为一对一,一对多,多对多的关系。 2、计算某一条语句执行次数或某段程序段的时间复杂度。 3、时间复杂度计算,可能与后面的一些算法结合,比如排序算法、查找算法的时间效率及比较。 第二章 栈 栈的抽象数据类型定义和基本操作。 栈的特点(后进先出的线性表)、性质(LIFO, overflow, underflow, push, pop后栈的状态) 栈的类定义及顺序实现(包括各个方法的具体实现) 栈的应用:数据逆置算法、括号匹配的判断、后缀表达式求值算法 5、根据中缀写出后缀表达式, 前缀、中缀和后缀的含义 第三章 队列 掌握队列的抽象数据类型定义和基本操作、扩展的队列操作。 队列的特点、性质(先进先出,入队、出队后不改变原序列) 队列的类定义及顺序实现,顺序队列产生的假溢出问题!如何解决? 利用循环队列产生的问题?有哪些解决方案? 5、 循环队列实现算法。(包括各个方法的具体实现) 利用栈和(或)队列的方法,编写算法。 第四章 链栈和链队列 链表结点类定义 p 123 不使用safeguards的链栈(链队列,链表),可能会产生的一些问题剖析!如垃圾的累积,破坏封装特性等问题!举例说明?P131-136 链栈类定义、具体实现(包括各个方法的具体实现) 链队列定义、具体实现(包括各个方法的具体实现) 第五章 递归 栈与递归,简单递归算法实现 汉诺塔算法实现过程 递归算法递归树的画法,汉诺塔算法递归树的画法 第六章 线性表的概念和基本操作,为什么将线性表类设计成模板类? 顺序线性表下元素的存储,类定义和算法。 两种单链表下元素的存储,类定义和算法。 双向链表下的算法。 掌握串的概念和基本操作。P236-240,构造函数的实现,利用c串实现strcat,strncpy, strstr等操作。 顺序表、链表下的算法设计,一般要求直接访问表元素,不调用其他方法。 第七章 各查找(顺序查找/两种二分查找)算法的递归算法和非递归算法实现 画比较树,利用查找树分析平均比较次数ASL 查找算法效率分析和比较 查找方法 存储结构要求 时间效率 优缺点 查找原理 顺序查找 顺序结构或链式结构的线性表 O(n) 当n较大时,查找比较耗时 从线性表的头部对每个记录依次进行比较,直至找到一个与目标关键字相同的记录,或直到表尾都无法找到,则为失败的查找。 二分查找 顺序存储结构、元素已有序 O(logn) 需要事先保持记录有序 按照逐渐缩小被查区间的方法进行查找。 二叉查找树查找 二叉链表结构,记录按照二叉查找树的要求进行排序 在理想状态,O(logn) 二叉查找树的形态影响其查找性能 在二叉查找树下进行查找,如与根结点值相同,则查找成功;若二叉树为空,则查找失败;否则按照值的大小到左子树或右子树上进行查找。 哈希查找 哈希表 理想状态为O(1),实际与装载因子、解决冲突等因素有关。 需要解决哈希函数选择、冲突解决、装载因子的选择等问题 在哈希表下,根据哈希函数的计算和冲突的解决方法,进行关键字对应记录的存储和查找。 4、以关键字比较为基础的查找算法的最好性能O(logn) 第八章 排序 各种排序算法的执行过程、效率、稳定性分析及性能比较(重点是:插入排序、选择排序、希尔排序、归并排序、快速排序、堆排序),根据实际情况选取合适的排序算法 排序方法 时间复杂度 辅助 存储空间 数据表 存储结构 适用场合 稳定性 平均情况 最坏情况 最好情况 插入 排序 O(n2) O(n2) O(n) O(1) 顺序/链式 数据基本有序 稳定 选择 排序 O(n2) O(n2) O(n2) O(1) 顺序 每个数据记录较大,移动记录较花时间。 稳定 快速 排序 O(nlogn) O(n2) O(nlogn) O(logn) 顺序 初始数据存放于顺序表,数据大小随机,当元素顺序或逆序,且选首元素为枢轴,产生最坏情况 不稳定 堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 顺序 性能比较均衡。可扩展使用在只需找出最大(最小)的几个数据或将已有数据按大小分成两个部分的场合。 不稳定 归并 排序 O(nlogn) O(nlogn) O(nlogn) O(1)/O(n) 链式/顺序 初始数据存放于链表的最快速算法 稳定 基数排序 O(nk) 链式 关键字的长度基本相同,如位数相同的若干正整数的排序 稳定 2、以关键字比较为基

文档评论(0)

精品文库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档