图书介绍

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

LAVA常用算法手册 第3版
  • 宋娟编 著
  • 出版社: 北京:中国铁道出版社
  • ISBN:7113173791
  • 出版时间:2016
  • 标注页数:406页
  • 文件大小:54MB
  • 文件页数:418页
  • 主题词:

PDF下载


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

下载说明

LAVA常用算法手册 第3版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 算法和实现算法的Java语法1

1.1 建立算法初步概念1

1.1.1 什么是算法1

1.1.2 算法的发展历史3

1.1.3 算法的分类3

1.2 算法相关概念的区别3

1.2.1 算法与公式的关系4

1.2.2 算法与程序的关系4

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

1.3 算法的表示4

1.3.1 自然语言表示5

1.3.2 流程图表示5

1.3.3 N-S图表示6

1.3.4 伪代码表示7

1.4 算法的性能评价7

1.4.1 时间复杂度8

1.4.2 空间复杂度8

1.5 一个算法实例8

1.5.1 查找数字8

1.5.2 创建项目10

1.5.3 编译执行11

1.6 Java程序的基本结构13

1.6.1 类是一个基本单元13

1.6.2 main方法14

1.6.3 自定义方法14

1.6.4 System.out.println的使用15

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

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 循环结构21

1.9.1 while循环22

1.9.2 do...while循环22

1.9.3 for循环23

1.9.4 编程实例23

1.10 跳转结构27

1.10.1 break27

1.10.2 continue27

1.10.3 编程实例27

1.11 小结29

第2章 数据结构30

2.1 数据结构概述30

2.1.1 什么是数据结构30

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

2.1.3 数据结构的内容31

2.1.4 数据结构的分类33

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

2.1.6 数据类型34

2.1.7 常用的数据结构35

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

2.2 线性表36

2.2.1 什么是线性表36

2.2.2 线性表的基本运算37

2.3 顺序表结构37

2.3.1 准备数据38

2.3.2 初始化顺序表38

2.3.3 计算顺序表长度38

2.3.4 插入结点39

2.3.5 追加结点39

2.3.6 删除结点40

2.3.7 查找结点40

2.3.8 显示所有结点41

2.3.9 顺序表操作实例41

2.4 链表结构45

2.4.1 什么是链表结构45

2.4.2 准备数据46

2.4.3 追加结点46

2.4.4 插入头结点47

2.4.5 查找结点48

2.4.6 插入结点49

2.4.7 删除结点50

2.4.8 计算链表长度51

2.4.9 显示所有结点51

2.4.10 链表操作实例51

2.5 栈结构56

2.5.1 什么是栈结构56

2.5.2 准备数据57

2.5.3 初始化栈结构57

2.5.4 判断空栈58

2.5.5 判断满栈58

2.5.6 清空栈58

2.5.7 释放空间59

2.5.8 入栈59

2.5.9 出栈59

2.5.10 读结点数据60

2.5.11 栈结构操作实例60

2.6 队列结构63

2.6.1 什么是队列结构63

2.6.2 准备数据64

2.6.3 初始化队列结构64

2.6.4 判断空队列65

2.6.5 判断满队列65

2.6.6 清空队列65

2.6.7 释放空间66

2.6.8 入队列66

2.6.9 出队列66

2.6.10 读结点数据67

2.6.11 计算队列长度67

2.6.12 队列结构操作实例68

2.7 树结构71

2.7.1 什么是树结构71

2.7.2 树的基本概念72

2.7.3 二叉树73

2.7.4 准备数据76

2.7.5 初始化二叉树76

2.7.6 添加结点77

2.7.7 查找结点78

2.7.8 获取左子树79

2.7.9 获取右子树79

2.7.10 判断空树80

2.7.11 计算二叉树深度80

2.7.12 清空二叉树81

2.7.13 显示结点数据81

2.7.14 遍历二叉树81

2.7.15 树结构操作实例83

2.8 图结构91

2.8.1 什么是图结构91

2.8.2 图的基本概念91

2.8.3 准备数据95

2.8.4 创建图97

2.8.5 清空图98

2.8.6 显示图98

2.8.7 遍历图99

2.8.8 图结构操作实例100

2.9 小结103

第3章 基本算法思想104

3.1 常用算法思想概述104

3.2 穷举算法思想104

3.2.1 穷举算法基本思想105

3.2.2 穷举算法实例105

3.3 递推算法思想107

3.3.1 递推算法基本思想107

3.3.2 递推算法实例107

3.4 递归算法思想109

3.4.1 递归算法基本思想109

3.4.2 递归算法实例109

3.5 分治算法思想110

3.5.1 分治算法基本思想111

3.5.2 分治算法实例111

3.6 概率算法思想115

3.6.1 概率算法基本思想115

3.6.2 概率算法实例115

3.7 小结117

第4章 排序算法118

4.1 排序算法概述118

4.2 冒泡排序算法119

4.2.1 冒泡排序算法119

4.2.2 冒泡排序算法实例120

4.3 选择排序算法122

4.3.1 选择排序算法122

4.3.2 选择排序算法实例123

4.4 插入排序算法125

4.4.1 插入排序算法125

4.4.2 插入排序算法实例126

4.5 Shell排序算法127

4.5.1 Shell排序算法128

4.5.2 Shell排序算法实例129

4.6 快速排序算法130

4.6.1 快速排序算法131

4.6.2 快速排序算法实例132

4.7 堆排序算法134

4.7.1 堆排序算法134

4.7.2 堆排序算法实例138

4.8 合并排序算法141

4.8.1 合并排序算法141

4.8.2 合并排序算法实例144

4.9 排序算法的效率147

4.10 排序算法的其他应用147

4.10.1 反序排序147

4.10.2 字符串数组的排序150

4.10.3 字符串的排序153

4.11 小结155

第5章 查找算法156

5.1 查找算法概述156

5.2 顺序查找157

5.2.1 顺序查找算法157

5.2.2 顺序查找操作实例157

5.3 折半查找159

5.3.1 折半查找算法159

5.3.2 折半查找操作实例161

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

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

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

5.4.3 树结构中的查找算法171

5.4.4 图结构中的查找算法171

5.5 小结172

第6章 基本数学问题173

6.1 判断闰年173

6.2 多项式计算175

6.2.1 一维多项式求值175

6.2.2 二维多项式求值177

6.2.3 多项式乘法179

6.2.4 多项式除法181

6.3 随机数生成算法183

6.3.1 Java语言中的随机方法183

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

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

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

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

6.4 复数运算191

6.4.1 简单的复数运算191

6.4.2 复数的幂运算194

6.4.3 复指数运算195

6.4.4 复对数运算196

6.4.5 复正弦运算198

6.4.6 复余弦运算199

6.5 阶乘200

6.5.1 使用循环来计算阶乘200

6.5.2 使用递归来计算阶乘201

6.6 计算π的近似值202

6.6.1 割圆术203

6.6.2 蒙特卡罗算法206

6.6.3 级数公式208

6.7 矩阵运算210

6.7.1 矩阵加法210

6.7.2 矩阵减法211

6.7.3 矩阵乘法213

6.8 方程求解215

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

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

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

6.9 小结225

第7章 数据结构问题226

7.1 动态数组排序226

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

7.1.2 动态数组排序实例227

7.2 约瑟夫环230

7.2.1 简单约瑟夫环算法230

7.2.2 简单约瑟夫环求解232

7.2.3 复杂约瑟夫环算法233

7.2.4 复杂约瑟夫环求解234

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

7.3.1 最短总距离算法237

7.3.2 最短总距离求解240

7.4 最短路径244

7.4.1 最短路径算法245

7.4.2 最短路径求解247

7.5 括号匹配252

7.5.1 括号匹配算法252

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 最大公约数274

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

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

8.6.3 计算最大公约数示例277

8.7 最小公倍数278

8.8 素数280

8.8.1 什么是素数280

8.8.2 计算素数算法280

8.9 回文素数282

8.9.1 什么是回文素数282

8.9.2 计算回文素数算法282

8.10 平方回文数285

8.10.1 什么是平方回文数285

8.10.2 计算平方回文数算法285

8.11 分解质因数287

8.12 小结289

第9章 算法经典趣题290

9.1 百钱买百鸡290

9.1.1 百钱买百鸡算法290

9.1.2 百钱买百鸡求解291

9.2 五家共井292

9.2.1 五家共井算法292

9.2.2 五家共井求解293

9.3 鸡兔同笼295

9.3.1 鸡兔同笼算法295

9.3.2 鸡兔同笼求解295

9.4 猴子吃桃296

9.4.1 猴子吃桃算法296

9.4.2 猴子吃桃求解297

9.5 舍罕王赏麦298

9.5.1 舍罕王赏麦问题298

9.5.2 舍罕王赏麦求解299

9.6 汉诺塔300

9.6.1 汉诺塔算法301

9.6.2 汉诺塔求解302

9.7 窃贼问题303

9.7.1 窃贼问题算法303

9.7.2 窃贼问题求解305

9.8 马踏棋盘308

9.8.1 马踏棋盘算法308

9.8.2 马踏棋盘求解310

9.9 八皇后问题312

9.9.1 八皇后问题算法312

9.9.2 八皇后问题求解314

9.10 寻找假银币315

9.10.1 寻找假银币算法316

9.10.2 寻找假银币求解318

9.11 青蛙过河320

9.11.1 青蛙过河算法320

9.11.2 青蛙过河求解321

9.12 三色旗325

9.12.1 三色旗算法325

9.12.2 三色旗求解326

9.13 渔夫捕鱼328

9.13.1 渔夫捕鱼算法328

9.13.2 渔夫捕鱼求解329

9.14 爱因斯坦的阶梯330

9.14.1 爱因斯坦的阶梯算法330

9.14.2 爱因斯坦的阶梯求解331

9.15 兔子产仔332

9.15.1 兔子产仔算法332

9.15.2 兔子产仔求解333

9.16 常胜将军334

9.16.1 常胜将军算法334

9.16.2 常胜将军求解335

9.17 新郎和新娘336

9.17.1 新郎和新娘算法337

9.17.2 新郎和新娘求解337

9.18 三色球339

9.18.1 三色球算法339

9.18.2 三色球求解340

9.19 小结341

第10章 游戏中的算法342

10.1 洗扑克牌算法342

10.1.1 洗扑克牌算法342

10.1.2 洗扑克牌实例343

10.2 取火柴游戏算法346

10.2.1 取火柴游戏算法346

10.2.2 取火柴游戏实例347

10.3 十点半算法349

10.3.1 十点半算法349

10.3.2 十点半游戏实例355

10.4 生命游戏361

10.4.1 生命游戏的原理362

10.4.2 生命游戏的算法363

10.4.3 生命游戏实例364

10.5 小结369

第11章 简单Java上机面试题370

11.1 打印九九乘法口诀表370

11.2 获得任意一个时间的下一天的时间371

11.3 将某个时间以固定格式转化成字符串373

11.4 怎样截取字符串374

11.5 怎样实现元素互换375

11.6 怎样实现元素排序377

11.7 怎样实现Singleton模式编程379

11.8 怎样实现金额转换380

11.9 如何判断回文数字383

11.10 小结384

第12章 逻辑推理类面试题385

12.1 脑筋急转弯385

12.1.1 中国有多少辆汽车385

12.1.2 下水道的盖子为什么是圆形的386

12.1.3 分蛋糕387

12.2 逻辑推理387

12.2.1 哪个开关控制哪盏灯388

12.2.2 戴帽子388

12.2.3 海盗分金389

12.2.4 罪犯认罪390

12.2.5 找出质量不相同的球391

12.2.6 有多少人及格391

12.2.7 他说的是真话吗392

12.3 计算推理393

12.3.1 倒水问题393

12.3.2 骗子购物394

12.3.3 求最大的连续组合值(华为校园招聘笔试题)395

12.3.4 洗扑克牌(乱数排列)396

12.3.5 字符移动(金山笔试题)398

12.4 小结399

第13章 数学能力测试400

13.1 100盏灯400

13.2 用一笔画出经过9个点的4条直线401

13.3 时针、分针和秒针重合问题402

13.4 怎样拿到第100号球405

13.5 烧绳计时406

第14章 算法面试题406

14.1 基础算法408

14.1.1 字符串匹配408

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

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

14.1.4 怎样实现金额转换415

14.1.5 数字排列419

14.1.6 数字拆解421

14.1.7 数字组合423

14.2 思维扩展算法426

14.2.1 蛇形打印426

14.2.2 24点算法428

14.2.3 双色球随机摇号432

14.2.4 巧妙过桥435

14.2.5 猴子吃桃439

14.2.6 天平称物439

14.2.7 掷骰子游戏441

14.3 小结444

热门推荐