图解数据结构使用java电子书下载_图解数据结构:使用Java 胡昭民著 PDF下载

本书内容架构完整,逻辑清楚,采用丰富的图例来阐述基本概念及应用。强调边做边学,结合下载文件,给予最完整的支援。以Java程序语言实现数据结构中的重要理论,以范例程序说明数据结构的内涵。采用JavaID工具,整合编译、执行、测试及除错功能

第1章 数据结构导论 1

1.1 数据结构简介 2

1.1.1 数据与信息 2

1.1.2 算法 3

1.1.3 算法的条件 3

1.2 认识程序设计 5

1.2.1 程序开发流程 5

1.2.2 数据类型简介 6

1.2.3 结构化程序设计 6

1.2.4 面向对象程序设计 7

1.3 算法效能分析 9

1.3.1 时间复杂度 9

1.3.2 Big-oh 10

1.3.3 Ω(omega) 11

1.3.4 θ(theta) 12

1.4 面向对象程序设计与Java 12

1.4.1 类与对象 12

1.4.2 面向对象特性 14

1.4.3 数据封装 14

1.4.4 类继承 15

1.4.5 对象多态 17

1.4.6 抽象类 19

1.4.7 接口 20

本章重点整理 22

本章习题 23

第2章 数组结构 29

2.1 线性表 30

2.1.1 线性表定义 30

2.1.2 线性表在计算机中的应用 30

2.2 认识数组 31

2.2.1 一维数组 32

2.2.2 二维数组 33

2.2.3 三维数组 35

2.2.4 n维数组 37

2.2.5 Arrays类实现 38

2.3 矩阵的简介与运算 40

2.3.1 矩阵相加 40

2.3.2 矩阵相乘 42

2.3.3 转置矩阵 45

2.3.4 稀疏矩阵 46

2.3.5 上三角形矩阵 50

2.3.6 下三角形矩阵 55 [2]

2.4数组与多项式 60

2.4.1认识多项式 60

2.4.2多项式的加法 60

本章重点整理 61

本章习题 63

第3章链表 67

3.1 单向链表 68

3.1.1建立单向链表 70

3.1.2单向链表节点的删除 74

3.1.3单向链表的节点插入 78

3.1.4单向链表的反转 80

3.1.5单向链表的串联 84

3.1.6多项式的列表表示法 85

3.2环形链表 89

3.2.1环形链表的定义 89

3.2.2环形链表的节点插入 90

3.2.3环形链表的节点删除 90

3.2.4环形链表的串联 93

3.2.5环形链表表示稀疏矩阵 97

[3]

3.3双向链表 98

3.3.1双向链表的定义 98

3.3.2双向链表的节点插入 98

3.3.3双向链表节点删除 99

本章重点整理 103

本章习题 103

第4章堆栈 110

4.1认识堆栈 111

4.1.1堆栈的运算 111

4.1.2堆栈的数组实现 111

4.1.3堆栈的表实现 115

4.2堆栈的应用 118

4.2.1汉诺塔问题 118

4.2.2迷宫问题 124

4.2.3八皇后问题 129

4.3算术表达式的求值法 132

4.3.1中序表示法求值 133

4.3.2前序表示法求值 134

4.3.3后序表示法求值 135

4.4中序法转换为前序法 136

4.4.1二叉树法 136

4.4.2括号法 136

4.4.3堆栈法 137

4.5前序与后序式转换成中序式 143

4.5.1括号法 143

4.5.2堆栈法 144

本章重点整理 146

本章习题 147

第5章队列 155

5.1认识队列 156

5.1.1队列的工作运算 156

5.1.2队列的数组实现 156

5.1.3以链表实现队列 159

5.2队列的应用 161

5.2.1环形队列 162

5.2.2优先队列 165

5.2.3双向队列 166

本章重点整理 169

本章习题 169

第6章树状结构 172

6.1树 173

6.2二叉树简介 174

6.2.1二叉树的定义 175

6.2.2特殊二叉树简介 176

6.3二叉树存储方式 177

6.3.1数组表示法 177

6.3.2列表表示法 179

6.4二叉树的遍历 181

6.4.1中序遍历 182

6.4.2前序遍历 182

6.4.3后序遍历 183

6.4.4二叉树的遍历实现 183

6.4.5二叉运算树 187

6.5二叉树的高级研究 192

6.5.1二叉排序树 192

6.5.2二叉搜索树 197

6.5.3线索二叉树 200

6.6树的二叉树表示法 205

6.6.1树转换为二叉树 205

6.6.2树林转换为二叉树 209

6.6.3树与树林的遍历 211

6.6.4确定唯一二叉树 214

本章重点整理 216

本章习题 217

第7章图形结构 224

7.1图论的起源 225

7.2图形介绍 226

7.3图形表示法 228

7.3.1相邻矩阵法 228

7.3.2相邻表法 232

7.3.3相邻多元列表法 236

7.3.4索引表格法 237

7.4图形的遍历 239

7.4.1先深后广法 240

7.4.2先广后深法 243

7.5生成树 246

7.6MST生成树 248

7.6.1Prim算法 249

7.6.2Kruskal算法 250

7.7图形最短路径 255

7.7.1单点对全部顶点 256

7.7.2顶点两两之间的最短距离 259

7.8AOV网络与拓扑排序 263

7.8.1AOV网络简介 264

7.8.2拓扑排序实现 264

7.8.3AOE网络 266

本章重点整理 268

本章习题 269

第8章排序 277

8.1排序简介 278

8.1.1排序的分类 279

8.1.2排序算法分析 279

8.2内部排序法 280

8.2.1冒泡排序法 280

8.2.2选择排序法 285

8.2.3插入排序法 288

8.2.4希尔排序法 290

8.2.5合并排序法 292

8.2.6快速排序法 293

8.2.7堆积排序法 297

8.2.8基数排序法 304

8.3外部排序法 307

本章重点整理 316

本章习题 317

第9章查找 323

9.1查找简介 324

9.2常见查找方法 324

9.2.1顺序查找法 324

9.2.2二分查找法 326

9.2.3插值查找法 328

9.2.4斐波那契查找法 331

9.3哈希查找法 333

9.3.1哈希法简介 333

9.3.2常见的哈希函数 334

9.3.3碰撞问题 338

9.3.4哈希法综合范例 342

本章重点整理 345

本章习题 346

附录Java的开发环境简介 353

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.算法是程序的灵魂,优秀的程序在对海量数据处理时,依然保持高速计算,就需要高效的数据结构和算法支撑。2.网上数据结构和算法的课程不少,但存在两个问题:1)授课方式单一,大多是照着代码念一遍,数据结构和算法本身就比较难理解,对基础好的学员来说,还好一点,对基础不好的学生来说,基本上就是听天书了2)说是讲数据结构和算法,但大多是挂羊头卖狗肉,算法讲的很少。 本课程针对上述问题,有针对性的进行了升级 3)授课方式采用图解+算法游戏的方式,让课程生动有趣好理解 4)系统全面的讲解了数据结构和算法, 除常用数据结构和算法外,还包括程序员常用10大算法:二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法、马踏棋盘算法。可以解决面试遇到的最短路径、最小生成树、最小连通图、动态规划等问题及衍生出的面试题,让你秒杀其他面试小伙伴3.如果你不想永远都是代码工人,就需要花时间来研究下数据结构和算法。教程内容:本教程是使用Java来讲解数据结构和算法,考虑到数据结构和算法较难,授课采用图解加算法游戏的方式。内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式、递归与回溯、迷宫问题、八皇后问题、算法的时间复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序(桶排序)、堆排序、排序速度分析、二分查找、插值查找、斐波那契查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、AVL树、线索二叉树、赫夫曼树、赫夫曼编码、多路查找树(B树B+树和B*树)、图、图的DFS算法和BFS、程序员常用10大算法、二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法马踏棋盘算法。学习目标:通过学习,学员能掌握主流数据结构和算法的实现机制,开阔编程思路,提高优化程序的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值