图书介绍

数据结构与算法分析 Java语言描述【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

数据结构与算法分析 Java语言描述
  • (美)Mark Allen Weiss著;冯舜玺译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:711114404X
  • 出版时间:2004
  • 标注页数:449页
  • 文件大小:21MB
  • 文件页数:464页
  • 主题词:数据结构;算法分析;JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据结构与算法分析 Java语言描述PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1本书讨论的内容1

第1章 引论1

1.2数学知识复习2

1.2.1指数2

1.2.2 对数2

1.2.3级数3

1.2.4模运算4

1.2.5证明方法4

1.3 递归简论6

1.4 Java中的一般对象9

1.4.1 IntCell类10

1.4.2 MemoryCell类12

1.4.3实现一般的findMax方法13

1.5异常14

1.6.2 StringTokenizer对象17

1.6输入和输出17

1.6.1基本的流操作17

1.6.3 顺序文件18

1.7代码的组织20

1.7.1包20

1.7.2 MyInteger类21

1.7.3关于效率的考虑21

小结22

练习22

参考文献24

第2章 算法分析25

2.1数学基础25

2.2模型27

2.3要分析的问题27

2.4 运行时间计算29

2.4.1一个简单的例子30

2.4.2一般法则30

2.4.3最大子序列和问题的解32

2.4.4运行时间中的对数37

2.4.5检验你的分析40

2.4.6分析结果的准确性41

小结41

练习42

参考文献46

第3章 表、栈和队列47

3.1抽象数据类型(ADT)47

3.2表ADT47

3.2.1表的简单数组实现48

3.2.2链表48

3.2.3程序设计细节49

3.2.4 链表54

3.2.5循环链表54

3.2.6例子55

3.2.7链表的游标实现59

3.3栈ADT64

3.3.1栈模型64

3.3.2栈的实现64

3.3.3 应用69

3.4队列ADT75

3.4.1队列模型75

3.4.2队列的数组实现75

3.4.3队列的应用79

小结80

练习80

4.1预备知识85

第4章 树85

4.1.1树的实现86

4.1.2树的遍历及应用87

4.2二叉树89

4.2.1实现90

4.2.2一个例子:表达式树90

4.3查找树ADT——二叉查找树93

4.3.1 find95

4.3.2 findMin和findMax95

4.3.3 insert96

4.3.4 remove97

4.3.5平均情形分析99

4.4 AVL树101

4.4.1单旋转102

4.4.2双旋转105

4.5伸展树110

4.5.1一个简单的想法(不能直接使用)111

4.5.2展开112

4.6树的遍历117

4.7 B树118

小结122

练习123

参考文献128

第5章 散列131

5.1一般想法131

5.2散列函数131

5.3 分离链接法133

5.4开放定址法136

5.4.1线性探测法137

5.4.2平方探测法138

5.4.3双散列法143

5.5再散列144

5.6 可扩散列145

小结148

练习149

参考文献152

第6章 优先队列(堆)155

6.1模型155

6.2一些简单的实现156

6.3二叉堆156

6.3.1结构性质156

6.3.2堆序性质157

6.3.3基本的堆操作158

6.3.4其他的堆操作162

6.4优先队列的应用164

6.4.1选择问题165

6.4.2事件模拟166

6.5 d-堆167

6.6左式堆167

6.6.1左式堆性质167

6.6.2左式堆操作168

6.7斜堆173

6.8 二项队列175

6.8.1二项队列结构175

6.8.2 项队列操作176

6.8.3二项队列实现178

小结182

练习183

参考文献187

7.2.1算法189

7.2插入排序189

第7章 排序189

7.1预备知识189

7.2.2插入排序的分析190

7.3一些简单排序算法的下界190

7.4希尔排序191

7.5堆排序194

7.6 归并排序197

7.7快速排序202

7.7.1选取枢纽元202

7.7.2分割策略204

7.7.3 小数组206

7.7.4实际的快速排序例程206

7.7.5快速排序的分析208

7.7.6选择问题的线性期望时间算法210

7.8排序算法的一般下界212

7.9桶式排序214

7.10外部排序214

7.10.1为什么需要新算法214

7.10.2外部排序模型214

7.10.3简单算法215

7.10.4多路合并216

7.10.5多相合并217

7.10.6替换选择217

小结218

练习219

参考文献223

第8章 不相交集ADT227

8.1等价关系227

8.2动态等价性问题227

8.3基本数据结构229

8.4灵巧求并算法232

8.5路径压缩233

8.6按秩求并和路径压缩的最坏情形235

8.7一个应用240

小结242

练习242

参考文献243

第9章 图论算法245

9.1若干定义245

9.2拓扑排序247

9.3最短路径算法250

9.3.1无权最短路径251

9.3.2 Dijkstra算法254

9.3.3具有负边值的图259

9.3.4无圈图260

9.3.5所有顶点对最短路径262

9.4网络流问题262

9.5最小生成树266

9.5.1 Prim算法267

9.5.2 Kruskal算法269

9.6深度优先搜索的应用271

9.6.1无向图271

9.6.2双连通性272

9.6.3欧拉回路275

9.6.4有向图278

9.6.5查找强分支279

9.7 NP完全性介绍281

9.7.1难与易281

9.7.2 NP类282

9.7.3 NP完全问题283

小结284

练习285

参考文献291

第10章 算法设计技巧295

10.1贪婪算法295

10.1.1一个简单的调度问题296

10.1.2哈夫曼编码298

10.1.3近似装箱问题302

10.2分治算法309

10.2.1分治算法的运行时间309

10.2.2最近点问题311

10.2.3选择问题314

10.2.4一些算术问题的理论改进317

10.3.1用表代替递归320

10.3动态规划320

10.3.2矩阵乘法的顺序安排322

10.3.3最优二叉查找树325

10.3.4所有点对最短路径327

10.4随机化算法329

10.4.1随机数发生器330

10.4.2跳跃表333

10.4.3素性测试335

10.5 溯算法337

10.5.1 收费公路重建问题338

10.5.2博弈341

小结347

练习347

参考文献353

11.1一个无关的智力问题359

第11章 摊还分析359

11.2二项队列360

11.3斜堆363

11.4斐波那契堆365

11.4.1切除左式堆中的节点366

11.4.2二项队列的懒惰合并368

11.4.3斐波那契堆操作370

11.4.4 时间界的证明371

11.5伸展树373

小结376

练习376

参考文献377

第12章 高级数据结构及其实现379

12.1自顶向下伸展树379

12.2红黑树383

12.2.1自底向上插入385

12.2.2自顶向下红黑树386

12.2.3 自顶向下删除390

12.3确定性跳跃表391

12.4 AA树396

12.5 treap树401

12.6 k-d树404

12.7配对堆406

小结411

练习411

参考文献414

附录A 一些库例程417

附录B Collections类库429

索引445

热门推荐