预购商品
书目分类
特别推荐
【第一部分:理解遞迴】 Chapter 1 遞迴是什麼? 遞迴的定義 什麼是函數? 什麼是堆疊? 什麼是呼叫堆疊? 什麼是遞迴函數和堆疊溢出? 基本情況和遞迴情況 遞迴呼叫前後的程式碼 結論 延伸閱讀 練習題 Chapter 2 遞迴與迭代 計算階乘 計算費波那契數列 將遞迴演算法轉換為迭代演算法 將迭代演算法轉換為遞迴演算法 案例分析:計算指數 什麼時候需要使用遞迴? 提出遞迴演算法 結論 延伸閱讀 練習題 練習專案 Chapter 3 經典遞迴演算法 對陣列中的數字求和 反轉字串 檢測回文 解決河內塔問題 使用 Flood Fill 使用 Ackermann 函數 結論 延伸閱讀 練習題 練習專案 Chapter 4 回溯和樹走訪演算法 使用樹走訪 在樹中找尋八個字母的名字 取得樹的最大深度 解決迷宮問題 結論 延伸閱讀 練習題 練習專案 Chapter 5 各個擊破演算法 二元搜尋:在按照字母順序排列的書架中尋找一本書 快速排序:將未排序的書堆拆分為已排序的書堆 合併排序:將小堆撲克牌合併成較大的排序堆 對整數陣列求和 Karatsuba 乘法 Karatsuba 演算法背後的代數 結論 延伸閱讀 練習題 練習專案 Chapter 6 排列組合 集合論的術語 找到所有不重複的排列:婚禮座位表 使用巢狀迴圈來取得排列:一種不太理想的方法 重複排列:密碼破解 透過遞迴取得 K 組合 取得平衡括號的所有組合 冪集:找出集合的所有子集合 結論 延伸閱讀 練習題 練習專案 Chapter 7 記憶化與動態規劃 記憶化 Python 的 functools 模組 當你記憶化非純函數時會發生什麼事? 結論 延伸閱讀 練習題 Chapter 8 尾部呼叫優化 尾部遞迴和尾部呼叫優化如何運作 尾部遞迴中的累加器 尾部遞迴的局限性 尾部遞迴的案例研究 結論 延伸閱讀 練習題 Chapter 9 繪製碎形 烏龜圖形 基本的烏龜函數 Sierpinski 三角形 Sierpinski 地毯 碎形樹 英國的海岸有多長?Koch 曲線和雪花 Hilbert 曲線 結論 延伸閱讀 練習題 練習專案 【第二部分:專案】 Chapter 10 檔案搜尋器 完整的檔案搜尋程式 配對函數 遞迴 walk() 函數 呼叫 walk() 函數 用於處理檔案的有用 Python 標準函式庫函數 結論 延伸閱讀 Chapter 11 迷宮生成器 完整的迷宮生成器程式 設定迷宮生成器的常數 建立迷宮資料結構 印出迷宮資料結構 使用遞迴回溯演算法 啟動遞迴呼叫鏈 結論 延伸閱讀 Chapter 12 滑塊解題器 遞迴解決 15-puzzle 完整的滑塊解題器程式 設定程式的常數 將滑塊拼圖表示為資料 設定新拼圖 遞迴解決滑塊拼圖問題 啟動解題器 結論 延伸閱讀 Chapter 13 Fractal Art Maker 內建碎形 Fractal Art Maker 演算法 完整的 Fractal Art Maker 程式 設定常數和 Turtle 的配置 使用「形狀繪製」函數 使用碎形繪圖函數 建立碎形範例 建立你自己的碎形 結論 延伸閱讀 Chapter 14 畫中畫創作家 安裝 Python 的 Pillow 函式庫 描繪你的圖像 完整的 Droste Maker 程式 配置 尋找洋紅色區域 調整基本圖像的大小 遞迴地將圖像放置在圖像內 結論 延伸閱讀
作者簡介 Al Sweigart Al Sweigart 是軟體開發人員、Python 軟體基金會院士,也是 No Starch Press 出版多本程式設計書籍的作者,其中包括全球暢銷書《Automate the Boring Stuff with Python》。他所授權的作品《Creative Commons》可在 https://www.inventwithpython.com上找到。
客服公告
热门活动
订阅电子报