- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构(Java版)(第3版) 第1章 绪论 第2章 线性表 第3章 串 第4章 栈与队列 第5章 数组和广义表 第6章 树和二叉树 第7章 图 第8章 查找 第9章 排序 第1章 绪论 目的:勾勒数据结构课程的轮廓。 内容:数据结构概念,算法设计与分析。 要求:理解数据结构基本概念,理解抽象数据 类型概念;熟悉算法设计和分析方法。掌 握编辑、编译、运行Java Application程 序的基本技能。 重点:数据的逻辑结构和存储结构概念。 难点:抽象数据类型,算法分析。 1.1 数据结构的基本概念 什么是数据、数据元素、数据项和关键字?它们之间是怎样的关系? 什么是数据结构?数据结构概念包括哪三部分? 数据的逻辑结构主要有哪三种?各有何特点?三者之间存在怎样的联系? 数据的存储结构主要有哪些?各有何特点? 数据结构概念 数据结构与数据类型的概念有什么区别?为什么要将数据结构设计成抽象数据类型? 线性结构主要有哪些?各有何特点?各采用什么存储结构?为什么? 1.2 算法 什么是算法?怎样描述算法?怎样衡量算法的性能? 第2章 线性表 目的:实现线性表抽象数据类型。 内容:将线性表的顺序存储结构和链式存储结构 实现分别封装成顺序表类、单链表类、循环 双链表类等,比较这两种实现的特点以及各 种基本操作算法的效率。 要求:理解线性表抽象数据类型,掌握顺序和链式 存储结构实现线性表的方法。 重点:顺序表、单链表、循环双链表等线性表的设 计训练。 难点:使用指针实现链式存储结构,通过指针操作 改变结点间的链接关系。 2.1 线性表抽象数据类型 什么是线性表?线性表主要采用哪两种存储结构?它们是如何存储数据元素的?各有什么优缺点? 为什么顺序表的插入和删除操作必须移动元素?平均需要移动多少元素? 线性表的链式存储结构有哪几种?它们是如何存储数据元素的?各有何特点?有什么优缺点? 线性表及其存储结构 线性表的两种存储结构 第3章 串 目的:串作为特殊线性表的实现与应用。 内容:字符串的基本概念,串抽象数据类型,顺序 和链式两种存储结构存储串的特点;采用顺 序存储结构实现串的各种操作算法;两种串 的模式匹配算法及应用:Brute-Force算法 和KMP算法。 要求:掌握顺序串类的基本操作实现方法,掌握串 的模式匹配算法及应用。 重点:串数据类型的各种操作实现,两种串的模式 匹配算法及应用。 难点:KMP模式匹配算法,next数组在KMP算法中 的作用及产生过程。 3.1 串抽象数据类型 什么是串?串和线性表在概念上有何差别?串操作的主要特点有哪些? 串和字符的存储结构有什么不同?串的存储结构有几种?串通常采用什么存储结构? 3.3 串的模式匹配 什么是串的模式匹配?有哪些场合需要使用串的模式匹配?串的模式匹配主要算法有哪些,各有何特点?举例说明,并给出最好情况和最坏情况及其时间复杂度。 3.3.1 Brute-Force算法 Brute-Force模式匹配算法的主要特点是什么?算法思路是怎样的? 3.3.2 KMP算法 KMP算法模式匹配的主要特点是什么?算法思路是怎样的?next数组有什么作用?求next数组的算法有什么特点? 第4章 栈与队列 目的:使用栈或队列作为求解复杂应用问题的 有效手段和措施。 内容:栈和队列抽象数据类型及它们的实现和应 用;优先队列;递归算法设计。 要求:掌握栈和队列抽象数据类型,以及顺序和链式存储结构实现;理解对于怎样的应用问题,需要使用栈或队列,以及怎样使用。 重点:栈和队列的设计和实现;理解递归定义, 设计递归算法。 难点:使用栈或队列求解复杂应用问题;递归算 法设计。 实验:栈和队列及其应用;递归算法。 4.1 栈 什么是栈?栈的特点是什么?在什么情况下需要使用栈? 栈可以采用什么存储结构?执行插入、删除操作时需要移动数据元素吗?为什么? 4.2 队列 什么是队列?有何特点?说明在什么情况下需要使用队列。 什么是队列的假溢出?为什么顺序队列会出现假溢出?怎样解决队列的假溢出问题? 链式队列会出现假溢出吗?为什么? 顺序栈会出现假溢出吗?为什么? 第5章 数组和广义表 目的:线性结构到非线性结构的过渡,了解包含子结构 的线性结构,理解链式存储结构在表达非线性数据结 构中的作用。 内容:使用二维数组表示矩阵及运算;三角矩阵、对称矩 阵、稀疏矩阵等各种压缩存储方法实现矩阵运算;广 义表的概念、双链表示和实现。 要求:理解多维数组的
文档评论(0)