LAVA常用算法手册 第3版PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:宋娟编
- 出 版 社:北京:中国铁道出版社
- 出版年份:2016
- ISBN:7113173791
- 页数:406 页
第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 break 27
1.10.2 continue 27
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
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《战略情报 情报人员、管理者和用户手册》(澳)唐·麦克道尔(Don McDowell)著 2019
- 《实用内科手册》黄清,阮浩航主编 2016
- 《基层医疗卫生机构安全用药手册》黎月玲,熊慧瑜 2019
- 《同仁眼科手册系列 同仁儿童眼病手册》付晶编 2018
- 《超强大·英语10000+常考单词+常用搭配,随身带随时用》朱晓琴 2019
- 《环境噪声监测实用手册》中国环境监测总站编 2018
- 《高度关注物质(SVHC)毒性手册 上》顾爱华主编 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018