互联网
类型
5.3
豆瓣评分
可以朗读
语音朗读
112千字
字数
2018-11-01
发行日期
展开全部
主编推荐语
让你轻松学会、爱不释手的Python算法书。
内容简介
编程的核心是算法,学习算法不仅能教会你解决问题的方法,而且还能为你今后的发展提供一种可能。
本书面向算法初学者,首先介绍当下流程的编程语言Python,详细讲解了Python语言的变量和顺序、分支、循环三大结构,以及列表和函数的使用,为之后学习算法打好基础。然后以通俗生动的语言讲解了双指针、哈希、深度优先、广度优先、回溯、贪心、动态规划和最短路径等经典算法。
目录
- 版权信息
- 作者简介
- 前言
- 第1章 编程基础
- 1.1 变量
- 1.1.1 输出和输入
- 1.1.2 简单变量类型
- 1.1.3 数学计算
- 1.1.4 位运算
- 1.1.5 使用字符串
- 1.2 三大结构
- 1.2.1 循序结构
- 1.2.2 分支结构
- 1.2.3 条件判断
- 1.2.4 应用分支结构
- 1.2.5 循环结构
- 1.2.6 continue和break
- 1.2.7 应用循环结构
- 1.2.8 结构的嵌套
- 1.3 列表
- 1.3.1 定义列表
- 1.3.2 对元素进行操作
- 1.3.3 列表的顺序
- 1.3.4 列表内置函数
- 1.3.5 截取和拼接列表
- 1.3.6 字符串、元组和列表
- 1.3.7 用循环遍历列表
- 1.3.8 字典简介
- 1.4 函数
- 1.4.1 定义子函数
- 1.4.2 主函数
- 1.4.3 调用函数
- 1.4.4 全局变量
- 1.4.5 函数的运用
- 第2章 双指针问题
- 2.1 数组合并
- 2.1.1 合并有序数组
- 2.1.2 最终代码
- 2.2 二分查找
- 2.2.1 什么是二分查找
- 2.2.2 问题求解
- 2.2.3 最终代码
- 2.3 链表
- 2.3.1 什么是单链表
- 2.3.2 建立单链表
- 2.3.3 建立双链表
- 2.3.4 双向输出双链表
- 2.3.5 向单链表中添加元素
- 2.3.6 向双链表中添加元素
- 2.3.7 删除列表中的元素
- 第3章 哈希算法
- 3.1 什么是哈希
- 3.2 两个数的和
- 3.2.1 问题求解1
- 3.2.2 解法1的最终代码
- 3.2.3 问题求解2
- 3.2.4 解法2的最终代码
- 3.3 单词模式匹配
- 3.3.1 问题求解
- 3.3.2 最终代码
- 3.4 猜词游戏
- 3.4.1 问题求解
- 3.4.2 最终代码
- 3.5 神奇的词根
- 3.5.1 问题求解
- 3.5.2 最终代码
- 第4章 深度优先遍历算法
- 4.1 什么是深度优先遍历
- 4.2 二叉树
- 4.2.1 二叉树的类型
- 4.2.2 二叉树的相关术语
- 4.2.3 二叉树的节点代码
- 4.2.4 二叉树的遍历顺序
- 4.2.5 深度优先遍历与广度优先遍历
- 4.3 怎么抓住小偷
- 4.3.1 解题思路
- 4.3.2 从思路到代码
- 4.4 二叉树中的最大路径和
- 4.4.1 解题思路
- 4.4.2 完整代码
- 4.5 最大的岛屿
- 4.5.1 解题思路
- 4.5.2 完整代码
- 第5章 广度优先遍历算法
- 5.1 什么是广度优先遍历
- 5.2 选课的智慧
- 5.2.1 广度优先遍历
- 5.2.2 问题求解
- 5.2.3 最终代码
- 5.3 寻找制高点
- 5.3.1 问题求解
- 5.3.2 集合
- 5.3.3 最终代码
- 5.4 合法的括号
- 5.4.1 问题求解
- 5.4.2 最终代码
- 5.5 树的右侧
- 5.5.1 问题求解
- 5.5.2 最终代码
- 第6章 回溯算法
- 6.1 什么是回溯
- 6.2 遍历所有排序方式
- 6.2.1 问题求解
- 6.2.2 最终代码
- 6.3 经典问题的组合
- 6.3.1 问题求解
- 6.3.2 最终代码
- 6.4 查找单词问题
- 6.4.1 问题求解
- 6.4.2 最终代码
- 6.5 八皇后问题
- 6.5.1 问题求解
- 6.5.2 最终代码
- 6.6 教你解数独
- 6.6.1 问题求解
- 6.6.2 最终代码
- 第7章 贪心算法
- 7.1 硬币找零问题
- 7.1.1 问题描述
- 7.1.2 最终代码
- 7.2 活动安排问题
- 7.2.1 问题描述
- 7.2.2 最终代码
- 7.3 哈夫曼编码
- 7.3.1 问题描述
- 7.3.2 哈夫曼树
- 7.3.3 贪心选择性质
- 7.3.4 最优子结构性质
- 7.3.5 最终代码
- 第8章 动态规划算法
- 8.1 爬楼梯问题
- 8.1.1 问题描述
- 8.1.2 最终代码
- 8.2 矿工挖矿问题
- 8.2.1 问题描述
- 8.2.2 最终代码
- 8.3 背包问题
- 8.3.1 问题描述
- 8.3.2 问题实例
- 8.3.3 最终代码
- 8.4 最长递归子序列问题
- 8.4.1 问题描述
- 8.4.2 改进算法
- 8.4.3 最终代码
- 第9章 最短路径问题
- 9.1 迪可斯特朗算法
- 9.1.1 术语释义
- 9.1.2 问题示例:最短公交线路
- 9.1.3 图与节点的定义
- 9.1.4 把图用代码“画”出来
- 9.1.5 算法核心:两个节点集合
- 9.1.6 算法核心:循环
- 9.1.7 输出路线
- 9.1.8 通过示例理解算法
- 9.1.9 完整代码展示
- 9.2 Floyd算法
- 9.2.1 算法核心:两个矩阵
- 9.2.2 算法核心:通过中介点缩短距离
- 9.2.3 通过示例理解算法
- 9.2.4 完整代码
- 9.3 A*算法
- 9.3.1 算法核心:迪可斯特朗算法
- 9.3.2 算法核心:预估函数
- 9.3.3 算法核心:选择预估函数
- 9.3.4 A*算法的兄弟们
- 第10章 分治算法
- 10.1 什么是分治
- 10.2 归并排序
- 10.2.1 递归法与迭代法
- 10.2.2 递归法描述
- 10.2.3 迭代法描述
- 10.2.4 最终代码
- 10.3 连续子列表的最大和
- 10.3.1 解题思路
- 10.3.2 最终代码
- 10.4 几何问题之凸包
- 10.4.1 问题求解
- 10.4.2 最终代码
- 10.5 数学问题之多项式乘法
- 10.5.1 问题求解
- 10.5.2 最终代码
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。