《计算思维与算法入门》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:赵军等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111618768
  • 页数:207 页
图书介绍:本书精选计算思维与算法课程中核心的内容,采用丰富的图例阐述常用数据结构与算法的基础知识和基本概念,并结合范例诠释计算机科学中较为知名的分治法、贪心法、动态规划法、安全性算法、树结构的算法、改变程序功力的经典算法、游戏设计中的算法。为检验读者的学习成果,本书在每一章的最后都安排了与本章重点内容相关的习题,供读者操作演练,以培养读者的逻辑思维能力。

第1章 程序设计与计算思维 1

1.1 认识计算思维 4

1.1.1 分解 6

1.1.2 模式识别 9

1.1.3 模式概括与抽象 11

1.1.4 算法 13

1.2 算法的条件 15

1.3 课后习题 21

第2章 常用数据结构与算法 22

2.1 认识数据结构 24

2.2 常见的数据结构 27

2.3 矩阵与深度学习 29

2.3.1 稀疏矩阵 33

2.3.2 矩阵相加算法 34

2.3.3 矩阵相乘算法 34

2.3.4 转置矩阵 35

2.4 链表 35

2.4.1 单向链表的串接算法 37

2.4.2 单向链表节点的删除算法 37

2.4.3 在单向链表中添加新节点 38

2.4.4 单向链表的反转 39

2.5 堆栈 40

2.6 队列 42

2.6.1 双向队列 44

2.6.2 优先队列 44

2.7 树结构 45

2.7.1 树的基本概念 46

2.7.2 二叉树 48

2.7.3 树转化为二叉树的算法 51

2.7.4 二叉树转化为树的算法 53

2.8 图简介 54

2.9 哈希表 57

2.10 课后习题 59

第3章 分治法 60

3.1 分治法简介 61

3.2 递归法 62

3.3 汉诺塔算法 63

3.4 快速排序法 68

3.5 合并排序法 70

3.6 二分查找法 71

3.7 课后习题 72

第4章 贪心法 74

4.1 贪心法简介 75

4.2 最小生成树 76

4.2.1 Prim算法 77

4.2.2 Kruskal算法 79

4.3 图的最短路径法 81

4.3.1 Dijkstra算法 81

4.3.2 A*算法 83

4.3.3 Floyd算法 86

4.4 课后习题 88

第5章 动态规划法 90

5.1 动态规划法简介 91

5.2 字符串对比功能 93

5.3 AOV网络与拓扑排序 94

5.4 AOE网络 97

5.5 青蛙跳台阶算法 99

5.6 课后习题 101

第6章 安全性算法 102

6.1 数据加密 104

6.1.1 对称密钥加密系统 105

6.1.2 非对称密钥加密系统与RSA算法 106

6.1.3 认证 107

6.1.4 数字签名 107

6.2 哈希算法 109

6.2.1 除留余数法 109

6.2.2 平方取中法 111

6.2.3 折叠法 112

6.2.4 数字分析法 113

6.3 碰撞与溢出处理 113

6.3.1 线性探测法 114

6.3.2 平方探测法 114

6.3.3 再哈希法 115

6.4 课后习题 116

第7章 树结构的算法 118

7.1 二叉树的遍历 119

7.2 二叉查找树 122

7.3 优化二叉查找树 126

7.3.1 扩充二叉树 126

7.3.2 哈夫曼树 128

7.4 平衡树(AVL树) 129

7.5 博弈树——八枚金币问题 132

7.6 堆积排序法 134

7.7 斐波那契查找法 136

7.8 课后习题 139

第8章 改变程序功力的经典算法 141

8.1 迭代法 142

8.1.1 帕斯卡三角算法 143

8.1.2 插入排序法 145

8.1.3 希尔排序法 146

8.1.4 基数排序法 147

8.2 枚举法 148

8.2.1 3个小球放入盒子 150

8.2.2 质数求解算法 152

8.2.3 顺序查找法 154

8.2.4 冒泡排序法 154

8.2.5 选择排序法 156

8.3 回溯法 158

8.3.1 老鼠走迷宫 158

8.3.2 八皇后算法 160

8.4 课后习题 161

第9章 游戏设计中的算法 163

9.1 游戏中的数学与物理算法 164

9.1.1 两点距离的算法 164

9.1.2 匀速运动 166

9.1.3 加速运动 167

9.2 图的遍历算法 168

9.2.1 路径算法 168

9.2.2 深度优先查找算法 170

9.2.3 广度优先查找算法 172

9.3 碰撞处理算法 173

9.3.1 以行进路线来检测 174

9.3.2 范围检测 176

9.3.3 颜色检测 179

9.4 遗传算法 182

9.5 课后习题 184

附录 课后习题与参考答案 185