





定价:59.9元
印次:1-1
ISBN:9787302641551
出版日期:2023.09.01
印刷日期:2023.08.10
图书责编:陈景辉
图书分类:教材
本书简要回顾了Java语言的类、接口、泛型、数组等基本概念。在此基础上,介绍了算法分析的基本方法和数据结构的基本概念,全面系统地讨论了线性表、栈、队列、二叉树等基本数据结构的实现技术以及如何使用这些基本数据结构实现优先级队列和图等数据结构,给出了解决查找和排序两个经典问题所使用的二叉搜索树、红黑树、B树、哈希表等数据结构的设计和实现。 本书使用Java语言,采用泛型编程实现数据结构,对代码进行了详细的讲解。本书配套资源中的project给出了各数据结构的完整代码。 本书可作为普通高等学校计算机科学与技术、软件工程、人工智能、数据科学与大数据技术等专业的“数据结构”课程的教材,也可作为工程技术人员的参考读物。
前言 数据结构是计算机学科本科教学计划的核心课程,对学生基本的计算机问题求解能力的培养具有重要意义。 作为一门必修课程,数据结构既是对以往课程的深入和拓展,也是为将来更加深入地学习其他专业课程打下基础。课程中所学习的线性表、栈、队列、二叉树等数据结构以及排序和查找算法是操作系统、编译原理、数据库、计算机网络等后续课程的基础。 数据结构适合在大学二年级开设,学生应该先修计算机导论、Java程序设计和离散数学。 本书主要内容 参考教育部高等学校计算机科学与技术教学指导委员会编制的高等学校计算机科学与技术专业核心课程教学实施方案中的建议,全书分为三篇,共有10章。 基础篇包括第1~3章。第1章为Java语言回顾,内容包括类、接口、异常处理和常用的异常类、泛型、数组和引用类型的转型。第2章为算法与算法分析,内容包括算法、算法分析和程序性能测量。第3章为数据结构,内容包括数据结构的基本概念、数据结构的描述、抽象数据类型及实现。 数据结构篇包括第4~6章。第4章为线性表,内容包括线性表的基本概念、线性表的数组描述、线性表的链式描述、数组描述和链式描述的比较。第5章为栈与队列,内容包括栈、队列、双端队列。第6章为树与二叉树,内容包括树、二叉树、二叉树的性质、二叉树的实现、二叉树的常用操作、树的遍历和树的描述。 综合运用篇包括第7~10章。第7章为查找,内容包括基本概念、静态查找、动态查找、二叉搜索树、AVL树、红黑树、B树、哈希表。第8章为优先级队列,内容包括基本概念、堆、优先级队列的实现、最优二叉树、偶堆。第9章为...
目录
基础篇
第1章Java语言回顾
1.1类
1.1.1类与对象
1.1.2类的扩展
1.1.3嵌套类
1.2接口
1.2.1接口的实现
1.2.2接口的扩展
1.2.3常用的接口
1.3异常处理和常用的异常类
1.4泛型
1.4.1泛型类
1.4.2参数化类及其成员
1.4.3泛型类的静态成员
1.4.4泛型接口和参数化接口
1.4.5泛型方法
1.4.6通配符、带通配符的参数化类型和捕获转型
1.4.7参数化类型之间的子类型/超类型关系
1.4.8类型擦除、Raw类型及其成员
1.4.9泛型的实现
1.4.10具体化(Reifiable)类型和new表达式的语法
1.5数组
1.5.1泛型无关的数组
1.5.2泛型相关的数组
1.6引用类型的转型
1.6.1宽化转型和窄化转型
1.6.2unchecked窄化转型
小结
习题
第2章算法与算法分析
2.1算法
2.2算法分析
2.2.1时间复杂度模型
2.2.2渐进时间复杂度分析
2.2.3空间复杂度模型及分析
2.3程序性能测量
小结
习题
第3章数据结构
3.1数据结构的基本概念
3.2数据结构的描述
3.3抽象数据类型及实现
小结
习题
数据结构篇
第4章线性表
4.1线性表的基本概念
4.2线性表的数组描述
...
本书详细介绍了线性表和二叉树等内容,通过大量的图示、例题和代码讲解,突出了链式描述和递归的教学,同时在内容方面兼顾知识的系统化要求。
(2)强调实现,联系实际。
本书强调数据结构的实现,借鉴了Java类库的代码风格,使读者养成良好的编程习惯。本书将线性表、栈、队列和二叉树的应用融合到查找、排序、图等具体问题内容,为重要的知识点配备了丰富的习题和代码。
(3)风格简洁,使用方便。
本书风格简洁,对一些概念进行了梳理,对于非重点的内容不做过多论述,以便读者在学习过程中明确内容之间的逻辑关系,更好地掌握数据结构的内容。"