图解LeetCode初级算法(Python版)
作者: 胡松涛编著
出版时间: 2020年版
内容简介
生活离不开算法,学习Python也离不开算法。《图解LeetCode初级算法(Python版)》主要讲解Python语言下的简单算法,适用于对Python有初步了解的读者,可以让读者对数据结构和语言本身有更好的理解。《图解LeetCode初级算法(Python版)》分为11个章节:第1章简单介绍算法以及算法的评判标准;第2~3章用图示详细地说明计算机中常用的算法—排序和查找;第4~11章借用LeetCode的试题演示如何使用算法来解决具体问题。《图解LeetCode初级算法(Python版)》内容详尽、示例丰富,是算法(Python版)入门读者的参考书,非常适合大中专院校师生学习阅读,也可作为高等院校计算机及相关专业的教材使用。
目录
第1章 浅谈算法
1.1 算法概述
1.2 度量算法
1.2.1 时间复杂度
1.2.2 空间复杂度
1.3 Python&Pythonic
第2章 基础算法之排序
2.1 冒泡排序
2.1.1 原理
2.1.2 代码
2.2 选择排序
2.2.1 原理
2.2.2 代码
2.3 插入排序
2.3.1 原理
2.3.2 代码
2.4 归并排序
2.4.1 原理
2.4.2 代码
2.5 快速排序
2.5.1 原理
2.5.2 代码
2.6 计数排序
2.6.1 原理
2.6.2 代码
2.7 算法小结
第3章 基础算法之查找
3.1 顺序查找
3.1.1 原理
3.1.2 代码
3.2 二分法查找
3.2.1 原理
3.2.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.1.1 算法要求
4.1.2 解题思路
4.1.3 解题代码
4.2 买卖股票的最佳时期II
4.2.1 算法要求
4.2.2 解题思路
4.2.3 解题代码
4.3 旋转数组
4.3.1 算法要求
4.3.2 解题思路
4.3.3 解题代码
4.4 存在重复
4.4.1 算法要求
4.4.2 解题思路
4.4.3 解题代码
4.5 只出现一次的数字
4.5.1 算法要求
4.5.2 解题思路
4.5.3 解题代码
4.6 两个数组的交集II
4.6.1 算法要求
4.6.2 解题思路
4.6.3 解题代码
4.7 加一
4.7.1 算法要求
4.7.2 解题思路
4.7.3 解题代码
4.8 移动零
4.8.1 算法要求
4.8.2 解题思路
4.8.3 解题代码
4.9 两数之和
4.9.1 算法要求
4.9.2 解题思路
4.9.3 解题代码
4.10 有效的数独
4.10.1 算法要求
4.10.2 解题思路
4.10.3 解题代码
4.11 旋转图像
4.11.1 算法要求
4.11.2 解题思路
4.11.3 解题代码
第5章 字符串
5.1 反转字符串
5.1.1 算法要求
5.1.2 解题思路
5.1.3 解题代码
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.4.3 解题代码
5.5 验证回文字符串
5.5.1 算法要求
5.5.2 解题思路
5.5.3 解题代码
5.6 字符串转整数
5.6.1 算法要求
5.6.2 解题思路
5.6.3 解题代码
5.7 实现strStr()
5.7.1 算法要求
5.7.2 解题思路
5.7.3 解题代码
5.8 报数
5.8.1 算法要求
5.8.2 解题思路
5.8.3 解题代码
5.9 最长公共前缀
5.9.1 算法要求
5.9.2 解题思路
5.9.3 解题代码
第6章 链表
6.1 删除链表中的节点
6.1.1 算法要求
6.1.2 解题思路
6.1.3 解题代码
6.2 删除链表的倒数第n个节点
6.2.1 算法要求
6.2.2 解题思路
6.2.3 解题代码
6.3 反转链表
6.3.1 算法要求
6.3.2 解题思路
6.3.3 解题代码
6.4 合并两个有序链表
6.4.1 算法要求
6.4.2 解题思路
6.4.3 解题代码
6.5 回文链表
6.5.1 算法要求
6.5.2 解题思路
6.5.3 解题代码
6.6 环形链表
6.6.1 算法要求
6.6.2 解题思路
6.6.3 解题代码
第7章 树
7.1 二叉树的最大深度
7.1.1 算法要求
7.1.2 解题思路
7.1.3 解题代码
7.2 验证二叉搜索树
7.2.1 算法要求
7.2.2 解题思路
7.2.3 解题代码
7.3 对称二叉树
7.3.1 算法要求
7.3.2 解题思路
7.3.3 解题代码
7.4 二叉树的层次遍历
7.4.1 算法要求
7.4.2 解题思路
7.4.3 解题代码
7.5 将有序数组转换成二叉搜索树
7.5.1 算法要求
7.5.2 解题思路
7.5.3 解题代码
第8章 排序和搜索&设计问题
8.1 合并两个有序数组
8.1.1 算法要求
8.1.2 解题思路
8.1.3 解题代码
8.2 第一个错误的版本
8.2.1 算法要求
8.2.2 解题思路
8.2.3 解题代码
8.3 数组洗牌(Shuffle an Array)
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.2 买卖股票的最佳时机
9.2.1 算法要求
9.2.2 解题思路
9.2.3 解题代码
9.3 最大子序和
9.3.1 算法要求
9.3.2 解题思路
9.3.3 解题代码
9.4 寻找宝物
9.4.1 算法要求
9.4.2 解题思路
9.4.3 解题代码
第10章 数学
10.1 FizzBuzz
10.1.1 算法要求
10.1.2 解题思路
10.1.3 解题代码
10.2 计算质数
10.2.1 算法要求
10.2.2 解题思路
10.2.3 解题代码
10.3 3的幂
10.3.1 算法要求
10.3.2 解题思路
10.3.3 解题代码
10.4 罗马数字转整数
10.4.1 算法要求
10.4.2 解题思路
10.4.3 解题代码
第11章 其他
11.1 位1的个数
11.1.1 算法要求
11.1.2 解题思路
11.1.3 解题代码
11.2 汉明距离
11.2.1 算法要求
11.2.2 解题思路
11.2.3 解题代码
11.3 颠倒二进制位
11.3.1 算法要求
11.3.2 解题思路
11.3.3 解题代码
11.4 帕斯卡三角形
11.4.1 算法要求
11.4.2 解题思路
11.4.3 解题代码
11.5 有效的括号
11.5.1 算法要求
11.5.2 解题思路
11.5.3 解题代码
11.6 缺失数字
11.6.1 算法要求
11.6.2 解题思路
11.6.3 解题代码