本书内容架构完整,逻辑清楚,采用丰富的图例来阐述基本概念及应用。强调边做边学,结合下载文件,给予最完整的支援。以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

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

  1. kafka技术内幕 pdf 下载_现代实用气动技术 第2版 pdf下载 0776

    现代实用气动技术 第2版  日本SMC公司是世界上最有代表性的气动元件研发.制造.销售的跨国公司之·,''精益求精的气动技术.应有尽有的气动元件"是该公司引导世界气动技术发展的真实写照.本书 ...

  2. 我的世界java启动程下载_我的世界JAVA下载 运行必备官方下载地址

    我的世界这款游戏的正常运行需要Java的支持,Java 是一门编程语言和一个运行平台.不像其它的如 C++ 的语言,Java 并不是直接运行在硬件上,而是运行在一个叫作 JVM 的虚拟机里.. Min ...

  3. java word jar_处理word的poi的jar包下载_处理word的poi的jar包官方下载-太平洋下载中心...

    对word文档的处理,提供对word信息抽取的类. 对word处理的poi的jar包(poi-bin-3.2-FINAL-20081019.zip) 现在Java对word excel进行操作的jar ...

  4. 我的世界java服核心下载_我的世界java版

    我的世界java版手机下载是一款高自由度的沙盒模拟建造游戏,这个版本是Java版本,增加了很多不同的游戏生物,还有超多好玩的游戏内容,感兴趣的玩家们千万不要错过了,快来下载这款我的世界java版1.1 ...

  5. java 1.3 下载_我的世界Java版1.16.3

    我的世界Java版1.16.3是一款经过一系列测试终于在今天与大家见面的正式版哦,这款版本游戏里保证让玩家们感受到最稳定.最流畅的游戏体验,另外玩家们可以与自己的小伙伴一起感受不一样的游戏乐趣,感兴趣 ...

  6. 斯坦福java下载_斯坦福解析器java错误

    我正在研究NLP,我想用斯坦福解析器从文本中提取名词短语,我使用的解析器版本是3.4.1 这是我使用的示例代码 package stanfordparser; import java.util.Col ...

  7. 我的世界java是什么_我的世界,Minecraft。为什么要下载Java,Java是干什么的?

    展开全部 您好,bai 了解到您的问题du,我觉得有必要和zhi您科普一下. 我的世dao界(版Minecraft)分为多个版本:JAVA版.基权岩版.源主机版.教育版.携带版-- 其中,JAVA版和 ...

  8. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  9. java基础知识点_零基础学习Java语言,各个阶段需要掌握的知识点

    随社会的脚步的不断发展,Java技术在不断的与时俱进,这也是Java一直长盛不衰的原因之一.Java技术的学习,永远没有早晚之分,技不压身,对于21世纪的我们80后,90后,甚至00后,尤其适用! 那 ...

最新文章

  1. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(改变分组次序)实战
  2. 【带你重拾Redis】Redis常见知识点
  3. 解决导入Android例子时“Unable to resolve target 'android-x' ”的错误
  4. 编译动态库时遇到relocation R_X86_64_32 against a local symbol的错误
  5. QT的mouseMoveEvent事件失效
  6. Vue项目中自动将px转换为rem
  7. 平面单腿机器人跳跃控制研究——后续内容
  8. cmd 进入mysql-python_MySQL在cmd和python下的常用操作
  9. 对ARP病毒攻击的防范和处理及相应工具方法
  10. react 创建组件
  11. group python 读hdf5_Python处理Excel模块的对比分析
  12. 如何在IOS平台上使用js直接调用OC方法(转)
  13. docfx daylybuild
  14. 彻底解决web调试时,修改css样式后刷新网页无改变
  15. 猴子摘香蕉问题python_用Basic STRIPS算法求解猴子和香蕉
  16. 细数黑帽seo七宗罪
  17. 2020PAT甲级秋季7-4 Professional Ability Test (30分)
  18. AB(罗克韦尔)PLC如何通过程序直接与外插SD卡进行数据读写?
  19. PLSQL--表空间管理
  20. python租房_如何用Python爬租房网站信息

热门文章

  1. Recyclable Counter With Confinement (RCC)浅析
  2. 在UE4虚幻引擎下使用VRPN接入optitrack(Motive)的实时数据
  3. 苹果手机在一键去水印网站如何下载去水印视频封面
  4. 桌面上的任务提醒备忘录清单怎么设置
  5. 机器学习课后练习题(期末复习题目附答案)
  6. “十步一杀”消职场压力于无形
  7. 选股软件通达信选股公式和老鸭头选股公式到底哪个好?
  8. java利用POI替换word文档中的标签
  9. scratch实现见缝插针
  10. 北京推进政务服务“区块链+电子证照”应用