图书介绍

Java常用算法手册PDF|Epub|txt|kindle电子书版本网盘下载

Java常用算法手册
  • 徐明远,郑越,俞朝晖编著 著
  • 出版社: 北京:中国铁道出版社
  • ISBN:9787113183585
  • 出版时间:2014
  • 标注页数:462页
  • 文件大小:68MB
  • 文件页数:476页
  • 主题词: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章 算法和实现算法的Java语法1

1.1 建立算法初步概念1

1.1.1 什么是算法1

1.1.2 算法的发展历史2

1.1.3 算法的分类3

1.2 算法相关概念的区别3

1.2.1 算法与公式的关系3

1.2.2 算法与程序的关系4

1.2.3 算法与数据结构的关系4

1.3 算法的表示4

1.3.1 自然语言表示4

1.3.2 流程图表示5

1.3.3 N-S图表示6

1.3.4 伪代码表示6

1.4 算法的性能评价7

1.4.1 时间复杂度7

1.4.2 空间复杂度8

1.5 一个算法实例8

1.5.1 查找数字8

1.5.2 创建项目10

1.5.3 编译执行12

1.6 Java程序的基本结构13

1.6.1 类是一个基本单元13

1.6.2 main方法14

1.6.3 自定义方法15

1.6.4 System.out.println的使用15

1.6.5 一个简单而完整的程序16

1.7 顺序结构16

1.8 分支结构17

1.8.1 if…else分支结构17

1.8.2 if…else嵌套18

1.8.3 switch语句19

1.8.4 编程实例20

1.9 循环结构22

1.9.1 while循环22

1.9.2 do…while循环23

1.9.3 for循环23

1.9.4 编程实例25

1.10 跳转结构28

1.10.1 break28

1.10.2 continue28

1.10.3 编程实例29

1.11 小结30

第2章 数据结构31

2.1 数据结构概述31

2.1.1 什么是数据结构31

2.1.2 数据结构中的基本概念32

2.1.3 数据结构的内容32

2.1.4 数据结构的分类34

2.1.5 数据结构的几种存储方式34

2.1.6 数据类型35

2.1.7 常用的数据结构36

2.1.8 选择合适的数据结构解决实际问题37

2.2 线性表37

2.2.1 什么是线性表37

2.2.2 线性表的基本运算38

2.3 顺序表结构39

2.3.1 准备数据39

2.3.2 初始化顺序表40

2.3.3 计算顺序表长度40

2.3.4 插入结点40

2.3.5 追加结点41

2.3.6 删除结点41

2.3.7 查找结点42

2.3.8 显示所有结点42

2.3.9 顺序表操作实例43

2.4 链表结构47

2.4.1 什么是链表结构47

2.4.2 准备数据48

2.4.3 追加结点48

2.4.4 插入头结点49

2.4.5 查找结点50

2.4.6 插入结点51

2.4.7 删除结点51

2.4.8 计算链表长度52

2.4.9 显示所有结点53

2.4.10 链表操作实例53

2.5 栈结构58

2.5.1 什么是栈结构58

2.5.2 准备数据59

2.5.3 初始化栈结构59

2.5.4 判断空栈60

2.5.5 判断满栈60

2.5.6 清空栈60

2.5.7 释放空间61

2.5.8 入栈61

2.5.9 出栈61

2.5.10 读结点数据62

2.5.11 栈结构操作实例62

2.6 队列结构65

2.6.1 什么是队列结构65

2.6.2 准备数据66

2.6.3 初始化队列结构67

2.6.4 判断空队列67

2.6.5 判断满队列67

2.6.6 清空队列68

2.6.7 释放空间68

2.6.8 入队列68

2.6.9 出队列69

2.6.10 读结点数据69

2.6.11 计算队列长度70

2.6.12 队列结构操作实例70

2.7 树结构74

2.7.1 什么是树结构74

2.7.2 树的基本概念74

2.7.3 二叉树75

2.7.4 准备数据78

2.7.5 初始化二叉树79

2.7.6 添加结点79

2.7.7 查找结点81

2.7.8 获取左子树81

2.7.9 获取右子树82

2.7.10 判断空树82

2.7.11 计算二叉树深度83

2.7.12 清空二叉树83

2.7.13 显示结点数据83

2.7.14 遍历二叉树84

2.7.15 树结构操作实例86

2.8 图结构93

2.8.1 什么是图结构93

2.8.2 图的基本概念93

2.8.3 准备数据97

2.8.4 创建图99

2.8.5 清空图100

2.8.6 显示图100

2.8.7 遍历图101

2.8.8 图结构操作实例102

2.9 小结105

第3章 基本算法思想106

3.1 常用算法思想概述106

3.2 穷举算法思想106

3.2.1 穷举算法基本思想107

3.2.2 穷举算法实例107

3.3 递推算法思想108

3.3.1 递推算法基本思想109

3.3.2 递推算法实例109

3.4 递归算法思想110

3.4.1 递归算法基本思想111

3.4.2 递归算法实例111

3.5 分治算法思想112

3.5.1 分治算法基本思想112

3.5.2 分治算法实例113

3.6 概率算法思想116

3.6.1 概率算法基本思想117

3.6.2 概率算法实例117

3.7 小结119

第2篇 算法应用篇120

第4章 排序算法120

4.1 排序算法概述120

4.2 冒泡排序算法121

4.2.1 冒泡排序算法121

4.2.2 冒泡排序算法实例122

4.3 选择排序算法124

4.3.1 选择排序算法124

4.3.2 选择排序算法实例125

4.4 插入排序算法127

4.4.1 插入排序算法127

4.4.2 插入排序算法实例129

4.5 Shell排序算法130

4.5.1 Shell排序算法130

4.5.2 Shell排序算法实例132

4.6 快速排序算法133

4.6.1 快速排序算法133

4.6.2 快速排序算法实例135

4.7 堆排序算法137

4.7.1 堆排序算法137

4.7.2 堆排序算法实例141

4.8 合并排序算法143

4.8.1 合并排序算法144

4.8.2 合并排序算法实例146

4.9 排序算法的效率149

4.10 排序算法的其他应用150

4.10.1 反序排序150

4.10.2 字符串数组的排序152

4.10.3 字符串的排序155

4.11 小结157

第5章 查找算法158

5.1 查找算法概述158

5.2 顺序查找159

5.2.1 顺序查找算法159

5.2.2 顺序查找操作实例159

5.3 折半查找161

5.3.1 折半查找算法161

5.3.2 折半查找操作实例163

5.4 数据结构中的查找算法165

5.4.1 顺序表结构中的查找算法166

5.4.2 链表结构中的查找算法169

5.4.3 树结构中的查找算法172

5.4.4 图结构中的查找算法173

5.5 小结174

第6章 基本数学问题175

6.1 判断闰年175

6.2 多项式计算177

6.2.1 一维多项式求值177

6.2.2 二维多项式求值179

6.2.3 多项式乘法181

6.2.4 多项式除法182

6.3 随机数生成算法185

6.3.1 Java语言中的随机方法185

6.3.2 [0, 1]之间均匀分布的随机数算法187

6.3.3 产生任意范围的随机数189

6.3.4 [m,n]之间均匀分布的随机整数算法190

6.3.5 正态分布的随机数生成算法191

6.4 复数运算193

6.4.1 简单的复数运算193

6.4.2 复数的幂运算195

6.4.3 复指数运算197

6.4.4 复对数运算198

6.4.5 复正弦运算199

6.4.6 复余弦运算200

6.5 阶乘201

6.5.1 使用循环来计算阶乘201

6.5.2 使用递归来计算阶乘203

6.6 计算π的近似值204

6.6.1 割圆术204

6.6.2 蒙特卡罗算法207

6.6.3 级数公式209

6.7 矩阵运算211

6.7.1 矩阵加法211

6.7.2 矩阵减法213

6.7.3 矩阵乘法214

6.8 方程求解216

6.8.1 线性方程求解——高斯消元法216

6.8.2 非线性方程求解——二分法221

6.8.3 非线性方程求解——牛顿迭代法223

6.9 小结226

第7章 数据结构问题227

7.1 动态数组排序227

7.1.1 动态数组的存储和排序227

7.1.2 动态数组排序实例228

7.2 约瑟夫环230

7.2.1 简单约瑟夫环算法231

7.2.2 简单约瑟夫环求解232

7.2.3 复杂约瑟夫环算法234

7.2.4 复杂约瑟夫环求解235

7.3 城市之间的最短总距离238

7.3.1 最短总距离算法238

7.3.2 最短总距离求解240

7.4 最短路径245

7.4.1 最短路径算法245

7.4.2 最短路径求解247

7.5 括号匹配252

7.5.1 括号匹配算法253

7.5.2 括号匹配求解254

7.6 小结257

第8章 数论问题258

8.1 数论概述258

8.1.1 数论概述258

8.1.2 数论的分类259

8.1.3 初等数论260

8.1.4 本章用到的基本概念260

8.2 完全数261

8.2.1 什么是完全数261

8.2.2 计算完全数算法262

8.3 亲密数264

8.3.1 什么是亲密数264

8.3.2 计算亲密数算法264

8.4 水仙花数267

8.4.1 什么是水仙花数267

8.4.2 计算水仙花数算法268

8.5 自守数270

8.5.1 什么是自守数270

8.5.2 计算自守数算法271

8.6 最大公约数275

8.6.1 计算最大公约数算法——辗转相除法275

8.6.2 计算最大公约数算法——Stein算法276

8.6.3 计算最大公约数示例277

8.7 最小公倍数279

8.8 素数280

8.8.1 什么是素数281

8.8.2 计算素数算法281

8.9 回文素数283

8.9.1 什么是回文素数283

8.9.2 计算回文素数算法283

8.10 平方回文数286

8.10.1 什么是平方回文数286

8.10.2 计算平方回文数算法286

8.11 分解质因数288

8.12 小结291

第9章 算法经典趣题292

9.1 百钱买百鸡292

9.1.1 百钱买百鸡算法292

9.1.2 百钱买百鸡求解293

9.2 五家共井294

9.2.1 五家共井算法294

9.2.2 五家共井求解295

9.3 鸡兔同笼297

9.3.1 鸡兔同笼算法297

9.3.2 鸡兔同笼求解297

9.4 猴子吃桃298

9.4.1 猴子吃桃算法299

9.4.2 猴子吃桃求解299

9.5 舍罕王赏麦300

9.5.1 舍罕王赏麦问题301

9.5.2 舍罕王赏麦求解301

9.6 汉诺塔303

9.6.1 汉诺塔算法303

9.6.2 汉诺塔求解304

9.7 窃贼问题306

9.7.1 窃贼问题算法306

9.7.2 窃贼问题求解308

9.8 马踏棋盘311

9.8.1 马踏棋盘算法311

9.8.2 马踏棋盘求解313

9.9 八皇后问题316

9.9.1 八皇后问题算法316

9.9.2 八皇后问题求解317

9.10 寻找假银币319

9.10.1 寻找假银币算法319

9.10.2 寻找假银币求解321

9.11 青蛙过河324

9.11.1 青蛙过河算法324

9.11.2 青蛙过河求解325

9.12 三色旗329

9.12.1 三色旗算法329

9.12.2 三色旗求解330

9.13 渔夫捕鱼332

9.13.1 渔夫捕鱼算法332

9.13.2 渔夫捕鱼求解333

9.14 爱因斯坦的阶梯334

9.14.1 爱因斯坦的阶梯算法335

9.14.2 爱因斯坦的阶梯求解335

9.15 兔子产仔336

9.15.1 兔子产仔算法336

9.15.2 兔子产仔求解337

9.16 常胜将军338

9.16.1 常胜将军算法338

9.16.2 常胜将军求解339

9.17 新郎和新娘341

9.17.1 新郎和新娘算法341

9.17.2 新郎和新娘求解342

9.18 三色球343

9.18.1 三色球算法344

9.18.2 三色球求解344

9.19 小结346

第10章 游戏中的算法347

10.1 洗扑克牌算法347

10.1.1 洗扑克牌算法347

10.1.2 洗扑克牌实例348

10.2 取火柴游戏算法351

10.2.1 取火柴游戏算法351

10.2.2 取火柴游戏实例352

10.3 十点半算法354

10.3.1 十点半算法354

10.3.2 十点半游戏实例360

10.4 生命游戏367

10.4.1 生命游戏的原理367

10.4.2 生命游戏的算法368

10.4.3 生命游戏实例370

10.5 小结375

第11章 密码学概述376

11.1 密码学概述376

11.1.1 密码学的发展376

11.1.2 密码学的基本概念377

11.1.3 柯克霍夫斯原则378

11.1.4 经典密码学算法378

11.2 换位加密、解密算法379

11.2.1 换位加密、解密算法379

11.2.2 换位加密、解密算法实例382

11.3 替换加密、解密算法386

11.3.1 替换加密、解密算法386

11.3.2 替换加密、解密算法实例387

11.4 位加密、解密算法389

11.4.1 位加密、解密算法389

11.4.2 位加密、解密算法实例391

11.5 一次一密加密、解密算法392

11.5.1 一次一密加密、解密算法393

11.5.2 一次一密加密、解密算法实例394

11.6 小结396

第12章 压缩与解压缩算法397

12.1 压缩与解压缩概述397

12.11 压缩与解压缩分类397

12.1.2 典型的压缩、解压缩算法397

12.2 压缩算法398

12.3 解压缩算法401

12.4 压缩、解压缩实例404

12.5 小结412

第3篇 算法面试篇413

第13章 数学能力测试413

13.1 100盏灯413

13.2 找出不同的球414

13.3 用一笔画出经过9个点的4条直线415

13.4 在9个点上画10条线416

13.5 时针、分针和秒针重合问题416

13.6 可以喝多少瓶汽水419

13.7 怎样拿到第100号球420

13.8 烧绳计时421

第14章 算法面试题423

14.1 基础算法423

14.1.1 字符串匹配423

14.1.2 哥德巴赫猜想的近似证明426

14.1.3 将一个正整数分解质因数428

14.1.4 怎样实现金额转换430

14.1.5 数字排列435

14.1.6 数字拆解437

14.1.7 数字组合439

14.2 思维扩展算法442

14.2.1 蛇形打印442

14.2.2 24点算法444

14.2.3 双色球随机摇号449

14.2.4 巧妙过桥452

14.2.5 猴子吃桃456

14.2.6 天平称物457

14.2.7 掷骰子游戏459

14.3 小结462

热门推荐