数据结构教程(Java语言描述高等学校数据结构课程系列教材)
全新正版 极速发货
¥
51.9
7.4折
¥
69.8
全新
库存2件
作者编者:李春葆//李筱驰|责编:王冰飞
出版社清华大学
ISBN9787302551348
出版时间2020-09
装帧其他
开本其他
定价69.8元
货号30958278
上书时间2024-11-18
商品详情
- 品相描述:全新
- 商品描述
-
导语摘要
为了方便教师教学和学生学习,本书提供了全面而丰富的教学资源,配套教学资源包的内容如下:①教学PPT:提供超过1500页的精美PPT课件,仅供任课教师教学中使用。
②源程序代码:所有源代码按章组织,例如ch2文件夹存放第2章的源代码,其中SqList子文件夹存放顺序表类SqListClass.Java文件和相关示例源代码文件,如ch2\SqList\Exam2_3.java为例2.3的源代码。
③数据结构课程教学大纲:包含48课时和64课时参考教学内容安排。
④练习题参考答案:提供练习题参考答案的pdf文档,仅供任课教师教学中使用。
目录
程序源码
第1章 绪论
1.1 什么是数据结构
1.1.1 数据结构的定义
1.1.2 数据的逻辑结构
1.1.3 数据的存储结构
1.1.4 数据的运算
1.1.5 数据结构和数据类型
1.2 算法及其描述
1.2.1 什么是算法
1.2.2 算法描述
1.3 算法分析
1.3.1 算法设计的要求
1.3.2 算法的时间性能分析
1.3.3 算法的存储空间分析
1.4 数据结构的目标
1.5 练习题
1.5.1 问答题
1.5.2 算法分析题
1.6 实验题
1.6.1 上机实验题
1.6.2 在线编程题
第2章 线性表
2.1 线性表的定义
2.1.1 什么是线性表
2.1.2 线性表的抽象数据类型描述
2.2 线性表的顺序存储结构
2.2.1 线性表的顺序存储结构——顺序表
2.2.2 线性表的基本运算算法在顺序表中的实现
2.2.3 顺序表的应用算法设计示例
2.2.4 顺序表容器——ArrayList
2.3 线性表的链式存储结构
2.3.1 线性表的链式存储结构——链表
2.3.2 单链表
2.3.3 单链表的应用算法设计示例
2.3.4 双链表
2.3.5 双链表的应用算法设计示例
2.3.6 循环链表
2.3.7 链表容器——LinkedList
数据结构教程(Java语言描述)
2.4 顺序表和链表的比较
2.5 线性表的应用
2.5.1 求解两个多项式相加问题的描述
2.5.2 采用顺序存储结构求解
2.5.3 采用链式存储结构求解
2.6 练习题
2.6.1 问答题
2.6.2 算法设计题
2.7 实验题
2.7.1 上机实验题
内容摘要
本书系统地介绍了各种常用的数据结构以及查找和排序的各种算法,阐述了各种数据结构的逻辑关系、存储表示及基本运算,并采用Java语言描述数据组织和算法实现,所有算法的程序均在Java1.8中调试通过。
全书既注重原理又注重实践,配有大量图表和示例,内容丰富,概念讲解清楚,表达严谨,逻辑性强,语言精练,可读性好。书中提供了丰富的练习题、实验题和在线编程题,配套的《数据结构教程(Java)学习与实验指导》详细给出了本书练习题的解题思路和参考答案,以及在线编程题的AC代码。
本书内容涉及的广度和深度符合本科培养目标的要求?
精彩内容
第3章栈和队 列CHAPTER3栈和队列是两种常用的数据结构,它们的数据元素的逻辑关系也是线性关系,但在运算上不同于线性表。
本章主要学习要点如下:(1)栈、队列和线性表的异同,栈和队列抽象数据类型的描述方法。
(2)顺序栈的基本运算算法设计。
(3)链栈的基本运算算法设计。
(4)顺序队的基本运算算法设计。
(5)链队的基本运算算法设计。
(6)双端队列和优先队列的应用。
(7)Java中的Stack、Queue、Deque和PriorityQueue集合及其使用。
(8)综合运用栈和各种类型的队列解决一些复杂的实际问题。
3.1栈本节先介绍栈的定义,然后讨论栈的存储结构和基本运算算法设计,最后通过两个综合实例说明栈的应用。
3.1.1栈的定义先看一个示例,假设有一个老鼠洞,口径只能容纳一只老鼠,有若干只老鼠依次进洞(如图3.1所示),当到达洞底时,这些老鼠只能一只一只地按与原来进洞时相反的次序出洞,如图3.2所示。在这个例子中,老
鼠洞就是一个栈,由于其进出洞口只能容纳一只老鼠,所以不论洞中有多少只老鼠,它们只能是一只一只地排列,从而构成一种线性关系。再看老鼠洞的主要操作,显然有进洞和出洞,进洞只能从洞口进,出洞也只能从洞口出。
抽象起来,栈是一种只能在一端进行插入或删除操作的线性表。在表中允许进行插入、删除操作的一端称为栈顶。栈顶的当前位置是动态的,由一个称为栈顶指针的位置指示器来指示。表的另一端称为栈底。当栈中没有数据元素时称为空栈。栈的插入操作通常称为进栈或入栈,栈的删除操作通常称为退栈或出栈。
图3.1老鼠进洞的情况图3.2老鼠出洞的情况说明:对于线性表,可以在中间和两端的任何地方插入和删除元素,而栈只能在同一端插入和删除元素。
栈的主要特点是“后进先出”,即后进栈的元素先出栈。每次进栈的元素都放在原当前栈顶元素之前成为新的栈顶元素,每次出栈的元素都是原当前栈顶元素。
栈也称为后进先出表。
抽象数据类型栈的定义如下:ADTStack{数据对象:
— 没有更多了 —
以下为对购买帮助不大的评价