搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
你也能看得懂的Python算法书
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121352553
  • 作      者:
    王硕[等]编著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2018
收藏
编辑推荐

很资深:凝聚4位作者10年编程经验,带你领悟算法的精髓

很有趣:全书采用生动风趣的语言,让算法不再难学

很实战:全书包括36个实例,9大类算法,很有实战价值

很图解:对每种算法,都给出了图解说明,保证一学就会


展开
内容介绍

编程的核心是算法,学习算法不仅能教会你解决问题的方法,而且还能为你今后的发展提供一种可能。

《你也能看得懂的Python算法书》面向算法初学者,首先介绍当下流行的编程语言Python,详细讲解Python语言中的变量和循序、分支、循环三大结构,以及列表和函数的使用,为之后学习算法打好基础。然后以通俗易懂的语言讲解双指针、哈希、深度优先、广度优先、回溯、贪心、动态规划和至短路径等经典算法。

《你也能看得懂的Python算法书》适合有一定编程基础的算法爱好者阅读。

展开
目录

第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和break  23 

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 问题求解1  78 

3.2.2 解法1的最终代码  80 

3.2.3 问题求解2  81 

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

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证