图解Java数据结构与算法(微课视频版)

图解Java数据结构与算法(微课视频版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

系统、全面地介绍数据结构的基础理论与算法设计。

内容简介

本书精选数据结构考研习题和各类典型例题进行讲解,案例和课后习题丰富,突出对数据结构算法实践能力的培养。书中配套资源丰富,包括示例源码、PPT课件、教学视频、教学大纲、习题与答案等。

全书共分11章,内容包括数据结构与算法概述,线性表,栈和队列,串、数组和广义表,树,图,查找算法,排序算法,分治算法,贪心算法,回溯算法。

作者简介

作者陈锐,郑州轻工业大学校聘副教授、硕士生导师,博士。中国人工智能学会情感智能专委会委员、中国图象图形学学会人机交互专委会委员。有多年教学实践经验,熟悉数据结构与算法等内容。

章节目录

版权信息

内容简介

主要作者简介

前言

第1章 数据结构与算法概述

1.1 为什么要学习数据结构

1.2 基本概念和术语

1.3 数据的逻辑结构与存储结构

1.3.1 逻辑结构

1.3.2 存储结构

1.4 抽象数据类型及其描述

1.4.1 什么是抽象数据类型

1.4.2 抽象数据类型的描述

1.5 算法

1.5.1 数据结构与算法的关系

1.5.2 什么是算法

1.5.3 算法的5个特性

1.5.4 算法的描述

1.6 算法分析

1.6.1 算法设计的4个目标

1.6.2 算法效率评价

1.6.3 算法的时间复杂度

1.6.4 算法的空间复杂度

1.7 学好数据结构的秘诀

1.8 小结

第2章 线性表

2.1 线性表的定义及抽象数据类型

2.1.1 线性表的定义

2.1.2 线性表的抽象数据类型

2.2 线性表的顺序表示与实现

2.2.1 线性表的顺序存储

2.2.2 顺序表的基本运算

2.2.3 基本操作性能分析

2.2.4 顺序表应用举例

2.3 线性表的链式表示与实现

2.3.1 单链表的存储结构

2.3.2 单链表上的基本运算

2.3.3 单链表应用举例

2.3.4 循环单链表

2.3.5 双向链表

2.4 一元多项式的表示与相乘

2.4.1 一元多项式的表示

2.4.2 一元多项式相乘

2.5 小结

第3章 栈与队列

3.1 栈的表示与实现

3.1.1 栈的定义

3.1.2 栈的抽象数据类型

3.1.3 顺序栈

3.1.4 链栈

3.2 栈的应用

3.2.1 数制转换

3.2.2 行编辑程序

3.2.3 算术表达式求值

3.3 栈与递归

3.3.1 递归

3.3.2 消除递归

3.4 队列的表示与实现

3.4.1 队列的定义

3.4.2 队列的抽象数据类型

3.4.3 顺序队列

3.4.4 顺序循环队列

3.4.5 双端队列

3.4.6 链式队列

3.4.7 链式队列的实现

3.5 队列在杨辉三角中的应用

3.5.1 什么是杨辉三角

3.5.2 构造队列

3.5.3 杨辉三角队列的实现

3.6 小结

第4章 串、数组与广义表

4.1 串的定义及抽象数据类型

4.1.1 什么是串

4.1.2 串的抽象数据类型

4.2 串的存储表示

4.2.1 串的顺序存储结构

4.2.2 串的链式存储结构

4.3 串的模式匹配

4.3.1 朴素模式匹配算法——Brute-Force

4.3.2 改进算法——KMP算法

4.3.3 模式匹配应用举例

4.4 数组的定义及抽象数据类型

4.4.1 数组的基本概念

4.4.2 数组的抽象数据类型

4.4.3 数组的顺序存储结构

4.4.4 特殊矩阵的压缩存储

4.4.5 稀疏矩阵的压缩存储及典型应用

4.5 广义表

4.5.1 什么是广义表

4.5.2 广义表的抽象数据类型

4.5.3 广义表的头尾链表表示

4.5.4 广义表的扩展线性链表表示

4.6 小结

第5章 树和二叉树

5.1 树的定义和抽象数据类型

5.1.1 树的定义

5.1.2 树的逻辑表示

5.2 二叉树的定义、性质和抽象数据类型

5.2.1 二叉树的定义

5.2.2 二叉树的性质

5.2.3 二叉树的抽象数据类型

5.2.4 二叉树的存储表示

5.3 二叉树的遍历

5.3.1 二叉树遍历的定义

5.3.2 二叉树的先序遍历

5.3.3 二叉树的中序遍历

5.3.4 二叉树的后序遍历

5.4 二叉树的线索化

5.4.1 二叉树的线索化定义

5.4.2 二叉树的线索化算法实现

5.4.3 线索二叉树的遍历

5.4.4 线索二叉树的应用举例

5.5 树、森林与二叉树

5.5.1 树的存储结构

5.5.2 树转换为二叉树

5.5.3 森林转换为二叉树

5.5.4 二叉树转换为树和森林

5.5.5 树和森林的遍历

5.6 并查集

5.6.1 并查集的定义

5.6.2 并查集的实现

5.6.3 并查集的应用

5.7 哈夫曼树

5.7.1 哈夫曼树的定义

5.7.2 哈夫曼编码

5.7.3 哈夫曼编码算法的实现

5.8 小结

第6章 图

6.1 图的定义与相关概念

6.1.1 图的定义

6.1.2 图的相关概念

6.1.3 图的抽象数据类型

6.2 图的存储结构

6.2.1 邻接矩阵表示法

6.2.2 邻接表表示法

6.2.3 十字链表

6.2.4 邻接多重表

6.3 图的遍历

6.3.1 图的深度优先遍历

6.3.2 图的广度优先遍历

6.4 图的连通性问题

6.4.1 无向图的连通分量与生成树

6.4.2 最小生成树

6.5 有向无环图

6.5.1 AOV网与拓扑排序

6.5.2 AOE网与关键路径

6.6 最短路径

6.6.1 从某个顶点到其他顶点的最短路径

6.6.2 每一对顶点之间的最短路径

6.7 小结

第7章 查找

7.1 查找的基本概念

7.2 静态查找

7.2.1 顺序表的查找

7.2.2 有序顺序表的查找

7.2.3 索引顺序表的查找

7.3 动态查找

7.3.1 二叉排序树

7.3.2 平衡二叉树

7.4 B-树与B+树

7.4.1 B-树

7.4.2 B+树

7.5 哈希表

7.5.1 哈希表的定义

7.5.2 哈希函数的构造方法

7.5.3 处理冲突的方法

7.5.4 哈希表的查找与分析

7.5.5 哈希表应用举例

7.6 小结

第8章 排序

8.1 排序的基本概念

8.2 插入排序

8.2.1 直接插入排序

8.2.2 折半插入排序

8.2.3 希尔排序

8.2.4 插入排序应用举例

8.3 选择排序

8.3.1 简单选择排序

8.3.2 堆排序

8.4 交换排序

8.4.1 冒泡排序

8.4.2 快速排序

8.4.3 交换排序应用举例

8.5 归并排序

8.6 基数排序

8.6.1 基数排序算法

8.6.2 基数排序应用举例

8.7 小结

第9章 分治算法

9.1 分治算法的基本思想

9.2 求最大子序列的和

9.3 求x的n次幂

9.4 众数问题

9.5 求n个数中的最大者和最小者

9.6 整数划分问题

9.7 大整数乘法

9.8 小结

第10章 贪心算法

10.1 贪心算法的思想

10.2 找零钱问题

10.3 背包问题

10.4 删数问题

10.5 加油站问题

10.6 小结

第11章 回溯算法

11.1 回溯算法的基本思想

11.1.1 问题的解空间

11.1.2 回溯算法的基本思想

11.2 装载问题

11.3 旅行商问题

11.4 和式分解问题

11.5 小结

参考文献

图解Java数据结构与算法(微课视频版)是2023年由清华大学出版社出版,作者黄敏。

得书感谢您对《图解Java数据结构与算法(微课视频版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
数据结构与算法详解 电子书
本书旨在讲解数据结构和算法的核心知识。本书主要内容包括线性表、栈、队列、串、数组、广义表、树、图、查找算法、排序算法、递推算法、递归算法、枚举算法、贪心算法、回溯算法、数值算法和实用算法等。本书适合计算机专业的学生、软件开发专业人员等阅读。
短视频策划、拍摄与制作(微课版) 电子书
本书囊括了大量短视频编辑与制作的精彩案例,并详细介绍了案例的操作过程和方法。
Java Web动态网站开发(微课版) 电子书
本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的案例,详细介绍了进行JavaWeb应用开发应掌握的各方面技术。全书共分8个项目,主要内容包括开发环境的搭建,JSP语法基础,JSP内置对象的使用,JavaBean技术的应用,JDBC数据库接口的使用,Servlet技术的应用,以及两个综合案例的开发讲解。
短视频编辑与制作(第2版全彩微课版) 电子书
本书集短视频制作理论与实践教学于一体,全流程地介绍了短视频制作的各种技能。
数据结构(Java语言描述) 电子书
提供大量应用案例、有针对性的实训任务和综合项目实训,既方便教学又方便自学。