●章 淺談算法
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 解題代碼
0章 數學
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 解題代碼
1章 其他
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 解題代碼
內容簡介
生活離不開算法,學習Python也離不開算法。本書主要講解Python語言下的簡單算法,適用於對Python有初步了解的讀者,可以讓讀者對數據結構和語言本身有更好的理解。 本書分為11個章節:章簡單介紹算法以及算法的評判標準;第2~3章用圖示詳細地說明計算機中常用的算法—排序和查找;第4~11章借用LeetCode的試題演示如何使用算法來解決具體問題。 本書內容詳盡、示例豐富,是算法(Python版)入門讀者的參考書,很好適合大中專院校師生學習閱讀,也可作為高等院校計算機及相關專業的教材使用。