你也能看得懂的Python算法书

你也能看得懂的Python算法书
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-11
版次: 1
ISBN: 9787121352553
定价: 59.00
装帧: 其他
开本: 128开
纸张: 胶版纸
页数: 260页
187人买过
  • 编程的核心是算法,学习算法不仅能教会你解决问题的方法,而且还能为你今后的发展提供一种可能。本书面向算法初学者,首先介绍当下流程的编程语言Python,详细讲解了Python语言的变量和顺序、分支、循环三大结构,以及列表和函数的使用,为之后学习算法打好基础。然后以通俗生动的语言讲解了双指针、哈希、深度优先、广度优先、回溯、贪心、动态规划和*短路径等经典算法。 王硕,资深软件工程师、北京理工大学客座讲师。北京理工大学硕士毕业,从事计算机教育多年,擅长Python、Java、C语言、数据结构和算法等,接触数千学生,对算法有独到见解。平行致力于企业级软件开发和计算机教育工作,具有SONY中国研究院、四大国有银行软件开发中心工作经历。 第1章 编程基础1

    1.1  变量1

    1.1.1  输出和输入2

    1.1.2  简单变量类型3

    1.1.3  数学计算6

    1.1.4  位运算7

    1.1.5  使用字符串11

    1.2  三大结构15

    1.2.1  循序结构15

    1.2.2 分支结构16

    1.2.3  条件判断18

    1.2.4  应用分支结构20

    1.2.5  循环结构21

    1.2.6  continue和break23

    1.2.7  应用循环结构24

    1.2.8  结构的嵌套26

    1.3  列表27

    1.3.1  定义列表27

    1.3.2  对元素进行操作28

    1.3.3  列表的顺序31

    1.3.4  列表内置函数33

    1.3.5  截取和拼接列表36

    1.3.6  字符串、元组和列表38

    1.3.7  用循环遍历列表40

    1.3.8  字典简介41

    1.4  函数43

    1.4.1  定义子函数43

    1.4.2  主函数44

    1.4.3  调用函数45

    1.4.4  全局变量47

    1.4.5  函数的运用48

    第2章 双指针问题53

    2.1  数组合并53

    2.1.1  合并有序数组53

    2.1.2  最终代码56

    2.2  二分查找56

    2.2.1  什么是二分查找57

    2.2.2  问题求解58

    2.2.3  最终代码60

    2.3  链表60

    2.3.1  什么是单链表60

    2.3.2  建立单链表61

    2.3.3  建立双链表63

    2.3.4  双向输出双链表65

    2.3.5  向单链表中添加元素66

    2.3.6  向双链表中添加元素69

    2.3.7  删除列表中的元素71

    第3章 哈希算法75

    3.1  什么是哈希75

    3.2 两个数的和78

    3.2.1  问题求解178

    3.2.2  解法1的最终代码80

    3.2.3  问题求解281

    3.2.4  解法2的最终代码82

    3.3  单词模式匹配82

    3.3.1  问题求解83

    3.3.2  最终代码85

    3.4  猜词游戏85

    3.4.1  问题求解87

    3.4.2  最终代码88

    3.5  神奇的词根89

    3.5.1  问题求解90

    3.5.2  最终代码92

    第4章 深度优先遍历93

    4.1  什么是深度优先遍历93

    4.2  二叉树95

    4.2.1  二叉树的类型95

    4.2.2  二叉树的相关术语96

    4.2.3  二叉树的节点代码97

    4.2.4  二叉树的遍历顺序97

    4.2.5  深度优先遍历与广度优先遍历97

    4.3  怎么抓住小偷98

    4.3.1  解题思路98

    4.3.2  从思路到代码102

    4.4  二叉树中的最大路径和102

    4.4.1  解题思路103

    4.4.2  完整代码112

    4.5  最大的岛屿113

    4.5.1  解题思路113

    4.5.2  完整代码116

    第5章 广度优先遍历118

    5.1  什么是广度优先遍历118

    5.2  选课的智慧120

    5.2.1  广度优先遍历121

    5.2.2  问题求解122

    5.2.3  最终代码124

    5.3  寻找制高点125

    5.3.1  问题求解126

    5.3.2  集合129

    5.3.3  最终代码130

    5.4  合法的括号131

    5.4.1  问题求解131

    5.4.2  最终代码135

    5.5  树的右侧136

    5.5.1  问题求解136

    5.5.2  最终代码139

    第6章 回溯算法141

    6.1  什么是回溯141

    6.2  遍历所有排序方式142

    6.2.1  问题求解142

    6.2.2  最终代码144

    6.3  经典问题的组合147

    6.3.1  问题求解147

    6.3.2  最终代码149

    6.4  查找单词问题151

    6.4.1  问题求解152

    6.4.2  最终代码155

    6.5  八皇后问题157

    6.5.1  问题求解158

    6.5.2  最终代码160

    6.6  教你解数独164

    6.6.1  问题求解165

    6.6.2  最终代码168

    第7章 贪心算法172

    7.1  硬币找零问题173

    7.1.1 问题描述173

    7.1.2 最终代码175

    7.2 活动安排问题175

    7.2.1  问题描述176

    7.2.2  最终代码177

    7.3 哈夫曼编码178

    7.3.1 问题描述178

    7.3.2 哈夫曼树179

    7.3.3 贪心选择性质181

    7.3.4 最优子结构性质182

    7.3.5 最终代码183

    第8章 动态规划算法185

    8.1  爬楼梯问题185

    8.1.1  问题描述186

    8.1.2 最终代码188

    8.2  矿工挖矿问题189

    8.2.1  问题描述189

    8.2.2 最终代码195

    8.3 背包问题195

    8.3.1 问题描述195

    8.3.2 问题实例196

    8.3.3 最终代码201

    8.4 最长递归子序列问题202

    8.4.1 问题描述202

    8.4.2 改进算法204

    8.4.3 最终代码205

    第9章 最短路径问题207

    9.1  迪可斯特朗算法207

    9.1.1  术语释义208

    9.1.2  问题示例:最短公交线路208

    9.1.3  图与节点的定义209

    9.1.4  把图用代码“画”出来210

    9.1.5  算法核心:两个节点集合210

    9.1.6  算法核心:循环210

    9.1.7  输出路线211

    9.1.8  通过示例理解算法211

    9.1.9  完整代码展示214

    9.2  Floyd算法216

    9.2.1  算法核心:两个矩阵216

    9.2.2  算法核心:通过中介点缩短距离217

    9.2.3  通过示例理解算法218

    9.2.4  完整代码222

    9.3  A*算法223

    9.3.1  算法核心:迪可斯特朗算法223

    9.3.2  算法核心:预估函数224

    9.3.3  算法核心:选择预估函数226

    9.3.4  A*算法的兄弟们226

    第10章 分治算法227

    10.1  什么是分治227

    10.2  归并排序228

    10.2.1  递归法与迭代法228

    10.2.2  递归法描述229

    10.2.3  迭代法描述232

    10.2.4  最终代码233

    10.3  连续子列表的最大和235

    10.3.1  解题思路235

    10.3.2  最终代码237

    10.4  几何问题之凸包238

    10.4.1  问题求解238

    10.4.2  最终代码240

    10.5  数学问题之多项式乘法242

    10.5.1  问题求解242

    10.5.2  最终代码245
  • 内容简介:
    编程的核心是算法,学习算法不仅能教会你解决问题的方法,而且还能为你今后的发展提供一种可能。本书面向算法初学者,首先介绍当下流程的编程语言Python,详细讲解了Python语言的变量和顺序、分支、循环三大结构,以及列表和函数的使用,为之后学习算法打好基础。然后以通俗生动的语言讲解了双指针、哈希、深度优先、广度优先、回溯、贪心、动态规划和*短路径等经典算法。
  • 作者简介:
    王硕,资深软件工程师、北京理工大学客座讲师。北京理工大学硕士毕业,从事计算机教育多年,擅长Python、Java、C语言、数据结构和算法等,接触数千学生,对算法有独到见解。平行致力于企业级软件开发和计算机教育工作,具有SONY中国研究院、四大国有银行软件开发中心工作经历。
  • 目录:
    第1章 编程基础1

    1.1  变量1

    1.1.1  输出和输入2

    1.1.2  简单变量类型3

    1.1.3  数学计算6

    1.1.4  位运算7

    1.1.5  使用字符串11

    1.2  三大结构15

    1.2.1  循序结构15

    1.2.2 分支结构16

    1.2.3  条件判断18

    1.2.4  应用分支结构20

    1.2.5  循环结构21

    1.2.6  continue和break23

    1.2.7  应用循环结构24

    1.2.8  结构的嵌套26

    1.3  列表27

    1.3.1  定义列表27

    1.3.2  对元素进行操作28

    1.3.3  列表的顺序31

    1.3.4  列表内置函数33

    1.3.5  截取和拼接列表36

    1.3.6  字符串、元组和列表38

    1.3.7  用循环遍历列表40

    1.3.8  字典简介41

    1.4  函数43

    1.4.1  定义子函数43

    1.4.2  主函数44

    1.4.3  调用函数45

    1.4.4  全局变量47

    1.4.5  函数的运用48

    第2章 双指针问题53

    2.1  数组合并53

    2.1.1  合并有序数组53

    2.1.2  最终代码56

    2.2  二分查找56

    2.2.1  什么是二分查找57

    2.2.2  问题求解58

    2.2.3  最终代码60

    2.3  链表60

    2.3.1  什么是单链表60

    2.3.2  建立单链表61

    2.3.3  建立双链表63

    2.3.4  双向输出双链表65

    2.3.5  向单链表中添加元素66

    2.3.6  向双链表中添加元素69

    2.3.7  删除列表中的元素71

    第3章 哈希算法75

    3.1  什么是哈希75

    3.2 两个数的和78

    3.2.1  问题求解178

    3.2.2  解法1的最终代码80

    3.2.3  问题求解281

    3.2.4  解法2的最终代码82

    3.3  单词模式匹配82

    3.3.1  问题求解83

    3.3.2  最终代码85

    3.4  猜词游戏85

    3.4.1  问题求解87

    3.4.2  最终代码88

    3.5  神奇的词根89

    3.5.1  问题求解90

    3.5.2  最终代码92

    第4章 深度优先遍历93

    4.1  什么是深度优先遍历93

    4.2  二叉树95

    4.2.1  二叉树的类型95

    4.2.2  二叉树的相关术语96

    4.2.3  二叉树的节点代码97

    4.2.4  二叉树的遍历顺序97

    4.2.5  深度优先遍历与广度优先遍历97

    4.3  怎么抓住小偷98

    4.3.1  解题思路98

    4.3.2  从思路到代码102

    4.4  二叉树中的最大路径和102

    4.4.1  解题思路103

    4.4.2  完整代码112

    4.5  最大的岛屿113

    4.5.1  解题思路113

    4.5.2  完整代码116

    第5章 广度优先遍历118

    5.1  什么是广度优先遍历118

    5.2  选课的智慧120

    5.2.1  广度优先遍历121

    5.2.2  问题求解122

    5.2.3  最终代码124

    5.3  寻找制高点125

    5.3.1  问题求解126

    5.3.2  集合129

    5.3.3  最终代码130

    5.4  合法的括号131

    5.4.1  问题求解131

    5.4.2  最终代码135

    5.5  树的右侧136

    5.5.1  问题求解136

    5.5.2  最终代码139

    第6章 回溯算法141

    6.1  什么是回溯141

    6.2  遍历所有排序方式142

    6.2.1  问题求解142

    6.2.2  最终代码144

    6.3  经典问题的组合147

    6.3.1  问题求解147

    6.3.2  最终代码149

    6.4  查找单词问题151

    6.4.1  问题求解152

    6.4.2  最终代码155

    6.5  八皇后问题157

    6.5.1  问题求解158

    6.5.2  最终代码160

    6.6  教你解数独164

    6.6.1  问题求解165

    6.6.2  最终代码168

    第7章 贪心算法172

    7.1  硬币找零问题173

    7.1.1 问题描述173

    7.1.2 最终代码175

    7.2 活动安排问题175

    7.2.1  问题描述176

    7.2.2  最终代码177

    7.3 哈夫曼编码178

    7.3.1 问题描述178

    7.3.2 哈夫曼树179

    7.3.3 贪心选择性质181

    7.3.4 最优子结构性质182

    7.3.5 最终代码183

    第8章 动态规划算法185

    8.1  爬楼梯问题185

    8.1.1  问题描述186

    8.1.2 最终代码188

    8.2  矿工挖矿问题189

    8.2.1  问题描述189

    8.2.2 最终代码195

    8.3 背包问题195

    8.3.1 问题描述195

    8.3.2 问题实例196

    8.3.3 最终代码201

    8.4 最长递归子序列问题202

    8.4.1 问题描述202

    8.4.2 改进算法204

    8.4.3 最终代码205

    第9章 最短路径问题207

    9.1  迪可斯特朗算法207

    9.1.1  术语释义208

    9.1.2  问题示例:最短公交线路208

    9.1.3  图与节点的定义209

    9.1.4  把图用代码“画”出来210

    9.1.5  算法核心:两个节点集合210

    9.1.6  算法核心:循环210

    9.1.7  输出路线211

    9.1.8  通过示例理解算法211

    9.1.9  完整代码展示214

    9.2  Floyd算法216

    9.2.1  算法核心:两个矩阵216

    9.2.2  算法核心:通过中介点缩短距离217

    9.2.3  通过示例理解算法218

    9.2.4  完整代码222

    9.3  A*算法223

    9.3.1  算法核心:迪可斯特朗算法223

    9.3.2  算法核心:预估函数224

    9.3.3  算法核心:选择预估函数226

    9.3.4  A*算法的兄弟们226

    第10章 分治算法227

    10.1  什么是分治227

    10.2  归并排序228

    10.2.1  递归法与迭代法228

    10.2.2  递归法描述229

    10.2.3  迭代法描述232

    10.2.4  最终代码233

    10.3  连续子列表的最大和235

    10.3.1  解题思路235

    10.3.2  最终代码237

    10.4  几何问题之凸包238

    10.4.1  问题求解238

    10.4.2  最终代码240

    10.5  数学问题之多项式乘法242

    10.5.1  问题求解242

    10.5.2  最终代码245
查看详情
相关图书 / 更多
你也能看得懂的Python算法书
你也是山百合呀(随书赠“给中国读者的寄语”,信纸、藏书票。作者印签签名。)
[韩]李琴怡 著;橘子洲 出品;有容书邦 发行
你也能看得懂的Python算法书
你也可以做妈妈——写给癫痫女性的怀孕书
陈蕾
你也能看得懂的Python算法书
你也可以成为论文写作高手 大夏书系
赖一郎
你也能看得懂的Python算法书
你也能遇见23°C教室
俞芬
你也能看得懂的Python算法书
你也能写一手好的毛笔字——楷书 (修订版)
高育娟 编
你也能看得懂的Python算法书
你也可以活成想要的幸福模样
UP子木
你也能看得懂的Python算法书
你也很累吧
黄伟康 后浪
你也能看得懂的Python算法书
你也走了很远的路吧
卢思浩 著;博集天卷 出品
你也能看得懂的Python算法书
你也能应对常见疾病
熊旭东 著
你也能看得懂的Python算法书
你也可以这样表达(共3册)
鸟谷朝代 编著
你也能看得懂的Python算法书
你也可以办好读书会——读书会运营的理论与实践
林凯
你也能看得懂的Python算法书
你也可以不焦虑——与焦虑和解的10个简单方法
[美]David A. Carbonell;PhD(大卫·A.卡博内尔博士)
您可能感兴趣 / 更多
你也能看得懂的Python算法书
听力学实训教程
王硕
你也能看得懂的Python算法书
对外政策偏好中的群体情感研究
王硕 著
你也能看得懂的Python算法书
神经外科围手术期出血防治专家共识病例荟萃
王硕
你也能看得懂的Python算法书
海外汉学概论
王硕丰 著
你也能看得懂的Python算法书
水下仿生机器人:作业臂系统控制与规划
王硕、谭民、王宇 著
你也能看得懂的Python算法书
曼彻斯特与英伦摇滚:在倾盆大雨中寻找光明
王硕 译者;作者:(英) 凯文· 卡明斯(KevinCummins)
你也能看得懂的Python算法书
页岩气藏建模与数值模拟方法面临的挑战
王硕亮 著
你也能看得懂的Python算法书
四维流程管理:解析流程对于企业的意义和作用
王硕 著
你也能看得懂的Python算法书
我国小学体育教师职前教育培养方案研究
王硕 著
你也能看得懂的Python算法书
劳动合同:原理与案例
王硕 著
你也能看得懂的Python算法书
沟道泥石流堆积体复活启动机制研究(青年学者科技专著系列)
王硕楠;赵菲;和飞
你也能看得懂的Python算法书
并非假装懂音乐
王硕,储智勇