Python算法指南:程式設計師經典算法分析與實現

Python算法指南:程式設計師經典算法分析與實現

《Python算法指南:程式設計師經典算法分析與實現》是李永華編著的圖書,由清華大學出版社出版。

基本介紹

  • 中文名: Python算法指南:程式設計師經典算法分析與實現
  • 作者:李永華
  • 出版社:清華大學出版社
  • ISBN:9787302531357 
內容簡介,作者簡介,作品目錄,

內容簡介

本書以人工智慧發展為時代背景,通過實際案例套用描述算法,提供了較為詳細的實戰方案,以便深度學習。
本書內容從算法上分為數學、搜尋、回溯、遞歸、排序、疊代、貪心、分治和動態規劃等;從數據結構上分為字元串、數組、指針、區間、佇列、矩陣、堆疊、鍊表、哈希表、線段樹、二叉樹、二叉搜尋樹和圖結構等。本書針對經典算法,結合相關的數據結構,將描述問題、問題示例、代主棄碼實現以及運行結果相結合,語言簡潔,深入淺出,通俗易懂,不僅適合對Python編程有興趣的科研屑旋雅人員,也適合作為高等院校的參考教材。

作者簡介

李永華,現執教於北京郵電大學,擁有超過10年的嵌入式開發經驗,致力於物聯網、雲計算與大數據的研究工作。在教學中善於以興趣為導向,激發學生的創造性;以素質為基礎,提高自身教學水平;以科研為手段,促芝判海危進教學理念的轉變。在研發及教學實踐中指導學生實現300個創新案例,參與了30餘項國家級課題與企業課題的研究工作,在國內外學術期刊以及會議發表論文60餘篇,申請專利40餘項,出版教材10餘部。

作品目錄

內容簡介
作者簡介
前言 PREFACE
例1 完美平方
例2 判斷平方數
例3 檢測2的冪次
例4 求平方根
例5 x的n次冪
例6 快速冪
例7 四數乘積
例8 將整數A轉換為B
例9 羅馬數字轉換為整數
例10 整數轉換為羅馬數字
例11 整數排序
例12 整數替換
例13 兩個整戲提茅數相除
例14 整數加法
例15 合併數字
例16 數字判斷
例17 下一個稀疏數
例18 滑動視窗的最大值
例19 創建最大數
例20 最接近的k個數
例21 交錯正負數
例22 下一個更大的數
例23 落單的數Ⅰ
例24 落單的數Ⅱ
例25 落單的數Ⅲ
例26 落單的數Ⅳ
例27 對稱數
例28 鏡像數字
例29 統計比給定整數小的數
例30 統計前面比自己小的數
例31 階乘尾部零的個數
例32 統計數字
例33 刪除數字
例34 尋找丟失的數
例35 醜數Ⅰ
例36 醜數Ⅱ
例37 超級醜數
例38 兩數之和Ⅰ
例39 兩數之和Ⅱ
例40 兩數之和Ⅲ
例41 最接近的三數之和
例42 三數之和為零
例43 四數之和為定值
例44 骰子求和
例45 k數之和
例46 二進制求和
例47 各位相加雅煉舟說
例48 矩陣元素ZigZag返回
例49 子矩陣和為零
例50 搜尋二維矩陣Ⅰ
例51 搜尋二維矩陣Ⅱ
例52 矩陣歸零
例53 DNA重複問題
例54 螺旋矩陣
例55 矩陣走路問題
例56 稀疏矩陣乘法
例57 直方圖中最大的矩形面積
例58 最大矩形
例59 排序矩陣中的從小到大第k個數
例60 最大和子數組
例61 兩個不重疊子數組最大和
例62 k個不重疊子數組最大和
例63 兩個不重疊的子數組最大差
例64 兩數組的交集Ⅰ
例65 兩數組的交集Ⅱ
例66 乘積小於k的子數組
例67 最小和子數組
例68 連續子數組最大和
例69 子數組之和遙辨墓為零
例70 數組劃分
例71 數組中的k-diff對的數量
例72 刪除排序數組中的重複數字
例73 和大於定值的最小長度子數組
例74 最大平均值子數組
例75 搜尋旋轉排序數組中的最小值Ⅰ
例76 搜尋旋轉排序數組中的最小值Ⅱ
例77 搜尋旋轉排序數組目標值Ⅰ
例78 搜尋旋轉排序數組目標值Ⅱ
例79 和最接近零的子數組
例80 兩個整數數組的最小差
例81 數組中的相同數字
例82 翻轉數組
例83 奇偶分割數組
例84 判斷字元串中的重複字元
例85 最長無重複字元的子字元串
例86 最長回文子字元串
例87 將字元串轉換為整數
例88 字元串查找
例89 子字元串的判斷
例90 翻轉字元串中的單詞
例91 亂序字元串
例92 比較字元串
例93 攀爬字元串
例94 交叉字元串
例95 字元串解碼
例96 最小子字元串覆蓋
例97 連線兩個字元串中的不同字元
例98 字元串加法
例99 字元串乘法
例100 前k個偶數長度的迴文數之和
例101 分割回文串Ⅰ
例102 分割回文串Ⅱ
例103 回文排列Ⅰ
例104 回文排列Ⅱ
例105 回文鍊表
例106 有效回文串
例107 回文對
例108 字模式
例109 k組翻轉鍊表
例110 刪除排序鍊表中的重複元素Ⅰ
例111 淚戲膠刪除排序鍊表中的重複元素Ⅱ
例112 鍊表劃分
例113 翻轉鍊表Ⅰ
例114 翻轉鍊表Ⅱ
例115 旋轉鍊表
例116 兩兩交換鍊表中的節點
例117 刪除鍊表中的元素
例118 重排鍊表
例119 鍊表插入排序
例120 合併k個排序鍊表
例121 帶環鍊表
例122 帶環鍊表轉換
例123 刪除鍊表中倒數第n個節點
例124 鍊表排序
例125 加1鍊表
例126 交換鍊表中的兩個節點
例127 線段樹的修改
例128 線段樹的構造Ⅰ
例129 線段樹的構造Ⅱ
例130 線段樹查詢Ⅰ
例131 線段樹查詢Ⅱ
例132 是否為子樹
例133 最小子樹
例134 具有最大平均數的子樹
例135 二叉搜尋樹中最接近的值
例136 二叉搜尋樹中插入節點
例137 二叉搜尋樹中刪除節點
例138 二叉搜尋樹轉化成更大的樹
例139 二叉搜尋樹的搜尋區間
例140 二叉搜尋樹的中序後繼
例141 二叉搜尋樹兩數之和
例142 裁剪二叉搜尋樹
例143 統計完全二叉樹節點數
例144 二叉搜尋樹疊代器
例145 翻轉二叉樹
例146 相同二叉樹
例147 前序遍歷樹和中序遍歷樹構造二叉樹
例148 二叉樹的後序遍歷
例149 二叉樹的所有路徑
例150 中序遍歷樹和後序遍歷樹構造二叉樹
例151 二叉樹的序列化和反序列化
例152 二叉樹的層次遍歷Ⅰ
例153 二叉樹的層次遍歷Ⅱ
例154 二叉樹的鋸齒形層次遍歷
例155 尋找二叉樹葉子節點
例157 二叉樹中的最大路徑和
例158 驗證二叉查找樹
例159 二叉樹的最大深度
例160 二叉樹的前序遍歷
例161 二叉樹的中序遍歷
例162 將排序列錶轉換成二叉搜尋樹
例163 二叉樹的最小深度
例164 不同的二叉搜尋樹
例165 將二叉樹拆成鍊表
例166 排序數組轉為高度最小二叉搜尋樹
例167 最近二叉搜尋樹值Ⅰ
例168 最近二叉搜尋樹值Ⅱ
例169 買賣股票的最佳時機Ⅰ
例170 買賣股票的最佳時機Ⅱ
例171 買賣股票的最佳時機Ⅲ
例172 主元素Ⅰ
例173 主元素Ⅱ
例174 第k大元素
例175 滑動視窗內唯一元素數量和
例176 單詞拆分Ⅰ
例177 單詞拆分Ⅱ
例178 單詞矩陣
例179 單詞搜尋
例180 單詞接龍Ⅰ
例181 單詞接龍Ⅱ
例182 包含所有單詞連線的子串
例183 最後一個單詞的長度
例184 電話號碼的字母組合
例185 會議室Ⅰ
例186 會議室Ⅱ
例187 區間最小數
例188 搜尋區間
例189 無重疊區間
例190 區間合併
例191 區間求和Ⅰ
例192 區間求和Ⅱ
例193 是否為子序列
例194 最長上升子序列
例195 有效的括弧序列
例196 對稱樹
例197 圖是否為樹
例198 表達樹的構造
例199 表達式求值
例200 逆波蘭表達式求值
例201 將表達式轉換為逆波蘭表達式
例203 乘積最大子序列
例204 最長上升連續子序列
例205 序列重構
例206 不同的子序列
例207 跳躍遊戲Ⅰ
例208 跳躍遊戲Ⅱ
例209 翻轉遊戲
例210 棒球遊戲
例211 中位數
例212 滑動視窗的中位數
例213 數據流中位數
例214 兩個排序數組的中位數
例215 打劫房屋Ⅰ
例216 打劫房屋Ⅱ
例217 子集Ⅰ
例218 子集Ⅱ
例219 迷宮Ⅰ
例220 迷宮Ⅱ
例221 迷宮Ⅲ
例222 迷宮Ⅳ
例223 數字組合Ⅰ
例224 數字組合Ⅱ
例225 數字組合Ⅲ
例226 擺動排序問題
例227 多關鍵字排序
例228 排顏色
例229 顏色分類
例230 簡化路徑
例231 不同的路徑Ⅰ
例232 不同的路徑Ⅱ
例233 換硬幣
例234 硬幣擺放
例235 硬幣排成線Ⅰ
例236 硬幣排成線Ⅱ
例237 搜尋插入位置
例238 俄羅斯套娃信封
例239 包裹黑色像素點的最小矩形
例240 薪水調整
例241 木材加工
例242 判斷數獨是否合法
例243 移除多餘字元
例244 三元式解析器
例245 符號串生成器
例246 用棧實現佇列
例247 用棧模擬漢諾塔問題
例248 帶最小值操作的棧
例249 恢復旋轉排序數組問題
例250 移動零問題
例251 丟失的間隔問題
例252 三個數的最大乘積
例253 用循環數組來實現佇列
例254 尋找數據錯誤
例255 數據流中第一個獨特數
例256 數據流中第一個唯一的數字
例257 二進制中有多少個1
例258 找到映射序列
例259 旋轉圖像
例260 相反的順序存儲
例261 太平洋和大西洋的水流
例262 不同島嶼的個數
例263 島的周長問題
例264 數字三角形
例265 最大正方形
例266 最大關聯集合
例267 合併k個排序間隔列表
例268 合併賬戶
例269 集合合併
例270 快樂數判斷
例271 最多有多少個點在一條直線上
例272 尋找峰值
例273 電燈切換
例274 第k個質數
例275 最小調整代價
例276 背包問題
例277 爬樓梯
例278 被圍繞的區域
例279 編輯距離
例280 最大間距
例281 堆化操作
例282 外輪廓線
例283 格雷編碼
例284 能否到達終點
例285 恢復IP位址
例286 斐波納契數列
例287 最長公共前綴
例288 解碼方法
例289 吹氣球
例290 生成括弧
例291 正則表達式匹配
例292 分割標籤
例293 裝最多水的容器
例294 接雨水
例295 加油站
例296 分糖果
例297 建立郵局
例298 尋找最便宜的航行旅途
例299 UTF-8編碼檢查
例300 哈希函式
附錄CD
例42 三數之和為零
例43 四數之和為定值
例44 骰子求和
例45 k數之和
例46 二進制求和
例47 各位相加
例48 矩陣元素ZigZag返回
例49 子矩陣和為零
例50 搜尋二維矩陣Ⅰ
例51 搜尋二維矩陣Ⅱ
例52 矩陣歸零
例53 DNA重複問題
例54 螺旋矩陣
例55 矩陣走路問題
例56 稀疏矩陣乘法
例57 直方圖中最大的矩形面積
例58 最大矩形
例59 排序矩陣中的從小到大第k個數
例60 最大和子數組
例61 兩個不重疊子數組最大和
例62 k個不重疊子數組最大和
例63 兩個不重疊的子數組最大差
例64 兩數組的交集Ⅰ
例65 兩數組的交集Ⅱ
例66 乘積小於k的子數組
例67 最小和子數組
例68 連續子數組最大和
例69 子數組之和為零
例70 數組劃分
例71 數組中的k-diff對的數量
例72 刪除排序數組中的重複數字
例73 和大於定值的最小長度子數組
例74 最大平均值子數組
例75 搜尋旋轉排序數組中的最小值Ⅰ
例76 搜尋旋轉排序數組中的最小值Ⅱ
例77 搜尋旋轉排序數組目標值Ⅰ
例78 搜尋旋轉排序數組目標值Ⅱ
例79 和最接近零的子數組
例80 兩個整數數組的最小差
例81 數組中的相同數字
例82 翻轉數組
例83 奇偶分割數組
例84 判斷字元串中的重複字元
例85 最長無重複字元的子字元串
例86 最長回文子字元串
例87 將字元串轉換為整數
例88 字元串查找
例89 子字元串的判斷
例90 翻轉字元串中的單詞
例91 亂序字元串
例92 比較字元串
例93 攀爬字元串
例94 交叉字元串
例95 字元串解碼
例96 最小子字元串覆蓋
例97 連線兩個字元串中的不同字元
例98 字元串加法
例99 字元串乘法
例100 前k個偶數長度的迴文數之和
例101 分割回文串Ⅰ
例102 分割回文串Ⅱ
例103 回文排列Ⅰ
例104 回文排列Ⅱ
例105 回文鍊表
例106 有效回文串
例107 回文對
例108 字模式
例109 k組翻轉鍊表
例110 刪除排序鍊表中的重複元素Ⅰ
例111 刪除排序鍊表中的重複元素Ⅱ
例112 鍊表劃分
例113 翻轉鍊表Ⅰ
例114 翻轉鍊表Ⅱ
例115 旋轉鍊表
例116 兩兩交換鍊表中的節點
例117 刪除鍊表中的元素
例118 重排鍊表
例119 鍊表插入排序
例120 合併k個排序鍊表
例121 帶環鍊表
例122 帶環鍊表轉換
例123 刪除鍊表中倒數第n個節點
例124 鍊表排序
例125 加1鍊表
例126 交換鍊表中的兩個節點
例127 線段樹的修改
例128 線段樹的構造Ⅰ
例129 線段樹的構造Ⅱ
例130 線段樹查詢Ⅰ
例131 線段樹查詢Ⅱ
例132 是否為子樹
例133 最小子樹
例134 具有最大平均數的子樹
例135 二叉搜尋樹中最接近的值
例136 二叉搜尋樹中插入節點
例137 二叉搜尋樹中刪除節點
例138 二叉搜尋樹轉化成更大的樹
例139 二叉搜尋樹的搜尋區間
例140 二叉搜尋樹的中序後繼
例141 二叉搜尋樹兩數之和
例142 裁剪二叉搜尋樹
例143 統計完全二叉樹節點數
例144 二叉搜尋樹疊代器
例145 翻轉二叉樹
例146 相同二叉樹
例147 前序遍歷樹和中序遍歷樹構造二叉樹
例148 二叉樹的後序遍歷
例149 二叉樹的所有路徑
例150 中序遍歷樹和後序遍歷樹構造二叉樹
例151 二叉樹的序列化和反序列化
例152 二叉樹的層次遍歷Ⅰ
例153 二叉樹的層次遍歷Ⅱ
例154 二叉樹的鋸齒形層次遍歷
例155 尋找二叉樹葉子節點
例157 二叉樹中的最大路徑和
例158 驗證二叉查找樹
例159 二叉樹的最大深度
例160 二叉樹的前序遍歷
例161 二叉樹的中序遍歷
例162 將排序列錶轉換成二叉搜尋樹
例163 二叉樹的最小深度
例164 不同的二叉搜尋樹
例165 將二叉樹拆成鍊表
例166 排序數組轉為高度最小二叉搜尋樹
例167 最近二叉搜尋樹值Ⅰ
例168 最近二叉搜尋樹值Ⅱ
例169 買賣股票的最佳時機Ⅰ
例170 買賣股票的最佳時機Ⅱ
例171 買賣股票的最佳時機Ⅲ
例172 主元素Ⅰ
例173 主元素Ⅱ
例174 第k大元素
例175 滑動視窗內唯一元素數量和
例176 單詞拆分Ⅰ
例177 單詞拆分Ⅱ
例178 單詞矩陣
例179 單詞搜尋
例180 單詞接龍Ⅰ
例181 單詞接龍Ⅱ
例182 包含所有單詞連線的子串
例183 最後一個單詞的長度
例184 電話號碼的字母組合
例185 會議室Ⅰ
例186 會議室Ⅱ
例187 區間最小數
例188 搜尋區間
例189 無重疊區間
例190 區間合併
例191 區間求和Ⅰ
例192 區間求和Ⅱ
例193 是否為子序列
例194 最長上升子序列
例195 有效的括弧序列
例196 對稱樹
例197 圖是否為樹
例198 表達樹的構造
例199 表達式求值
例200 逆波蘭表達式求值
例201 將表達式轉換為逆波蘭表達式
例203 乘積最大子序列
例204 最長上升連續子序列
例205 序列重構
例206 不同的子序列
例207 跳躍遊戲Ⅰ
例208 跳躍遊戲Ⅱ
例209 翻轉遊戲
例210 棒球遊戲
例211 中位數
例212 滑動視窗的中位數
例213 數據流中位數
例214 兩個排序數組的中位數
例215 打劫房屋Ⅰ
例216 打劫房屋Ⅱ
例217 子集Ⅰ
例218 子集Ⅱ
例219 迷宮Ⅰ
例220 迷宮Ⅱ
例221 迷宮Ⅲ
例222 迷宮Ⅳ
例223 數字組合Ⅰ
例224 數字組合Ⅱ
例225 數字組合Ⅲ
例226 擺動排序問題
例227 多關鍵字排序
例228 排顏色
例229 顏色分類
例230 簡化路徑
例231 不同的路徑Ⅰ
例232 不同的路徑Ⅱ
例233 換硬幣
例234 硬幣擺放
例235 硬幣排成線Ⅰ
例236 硬幣排成線Ⅱ
例237 搜尋插入位置
例238 俄羅斯套娃信封
例239 包裹黑色像素點的最小矩形
例240 薪水調整
例241 木材加工
例242 判斷數獨是否合法
例243 移除多餘字元
例244 三元式解析器
例245 符號串生成器
例246 用棧實現佇列
例247 用棧模擬漢諾塔問題
例248 帶最小值操作的棧
例249 恢復旋轉排序數組問題
例250 移動零問題
例251 丟失的間隔問題
例252 三個數的最大乘積
例253 用循環數組來實現佇列
例254 尋找數據錯誤
例255 數據流中第一個獨特數
例256 數據流中第一個唯一的數字
例257 二進制中有多少個1
例258 找到映射序列
例259 旋轉圖像
例260 相反的順序存儲
例261 太平洋和大西洋的水流
例262 不同島嶼的個數
例263 島的周長問題
例264 數字三角形
例265 最大正方形
例266 最大關聯集合
例267 合併k個排序間隔列表
例268 合併賬戶
例269 集合合併
例270 快樂數判斷
例271 最多有多少個點在一條直線上
例272 尋找峰值
例273 電燈切換
例274 第k個質數
例275 最小調整代價
例276 背包問題
例277 爬樓梯
例278 被圍繞的區域
例279 編輯距離
例280 最大間距
例281 堆化操作
例282 外輪廓線
例283 格雷編碼
例284 能否到達終點
例285 恢復IP位址
例286 斐波納契數列
例287 最長公共前綴
例288 解碼方法
例289 吹氣球
例290 生成括弧
例291 正則表達式匹配
例292 分割標籤
例293 裝最多水的容器
例294 接雨水
例295 加油站
例296 分糖果
例297 建立郵局
例298 尋找最便宜的航行旅途
例299 UTF-8編碼檢查
例300 哈希函式
附錄CD

相關詞條

熱門詞條

聯絡我們