Learning Algorithms: A Programmer's Guide to Writing Better Code
作者 | George T. Heineman |
---|---|
出版社 | 聯合發行股份有限公司 |
商品描述 | 演算法學習手冊: 寫出更有效率的程式:「一本平易近人的著作,可讓你立即應用進而提升程式的執行效率。書中將教你電腦科學中會用到的基本演算法和資料型別。如果你正在找一 |
作者 | George T. Heineman |
---|---|
出版社 | 聯合發行股份有限公司 |
商品描述 | 演算法學習手冊: 寫出更有效率的程式:「一本平易近人的著作,可讓你立即應用進而提升程式的執行效率。書中將教你電腦科學中會用到的基本演算法和資料型別。如果你正在找一 |
內容簡介 「一本平易近人的著作,可讓你立即應用進而提升程式的執行效率。書中將教你電腦科學中會用到的基本演算法和資料型別。如果你正在找一份程式設計相關的技術工作,這本書可能會在下次的程式面試中幫助你取得好成績。」 — Zvi Galil 喬治亞理工學院 計算學院Frederick G. Storey主任暨名譽院長 論及撰寫有效率的程式時,每位軟體專業人士都需要具備有效率的演算法運作知識。在這本實務書籍中,《Algorithms in a Nutshell》作者George Heineman對於多種語言編寫程式時所用的效能改進關鍵演算法,有簡潔而詳實的介紹。軟體開發人員、測試人員、維護人員將理解演算法如何創造性地解決運算問題。 每章都會以前面章節內容為基礎,藉由清晰的圖示和不斷提供的新基本概念,包括演算法分析,對書中介紹的每個演算法做效能分級。你可以將每章所學到的內容,應用到該章最後的挑戰題中,如同模擬在程式術科面試場上的體驗。 閱讀本書,你將可以: ‧探索電腦科學和軟體工程核心的基本演算法 ‧學習有效率解決問題的常見策略,例如:分治法、動態規劃、貪婪方法 ‧使用Big-O分析與評估程式的時間複雜度 ‧使用現有的Python函式庫和資料結構來解決演算法問題 ‧了解重要演算法的主要步驟
作者介紹 George T. HeinemanGeorge Heineman 是電腦科學教授,在軟體工程和演算法方面具有20年以上的經驗。他是《Algorithms in a Nutshell》(第2版)作者以及O'Reilly多門直播訓練課程講師(包括Exploring Algorithms in Python、Working with Algorithms in Python)。George是Sujiken謎題(數獨的變化版)與Trexagon謎題發明者。
產品目錄 第一章 解決問題 何謂演算法? 找出任一串列的最大值 計數關鍵作業 能夠預測演算法效能的模型 找出任一串列的前兩大值 錦標賽演算法 時間複雜度與空間複雜度 本章總結 挑戰題 第二章 演算法分析 以實證模型預測效能 更快的乘法 效能等級 漸近分析 計數所有作業 計數所有位元組 命運之門 二元陣列搜尋 跟π一樣簡單 一舉兩得 整體而言 曲線配適與上限下限 本章總結 挑戰題 第三章 用好雜湊過好生活 值與鍵的關聯 雜湊函式與雜湊值 (鍵, 值)組的雜湊表結構 以線性探測察覺與解決衝突 分別鏈結的鏈結串列 移除鏈結串列的項目 評估 擴充雜湊表 動態雜湊表的效能分析 完美雜湊 疊代處理(鍵, 值)組 本章總結 挑戰題 第四章 堆積向上 最大二元堆積 插入(值, 優先序) 移除優先序最高的值 以陣列表示二元堆積 swim與sink的實作 本章總結 挑戰題 第五章 無魔法的奇妙排序 用交換做排序 選擇排序 二次等級排序演算法的剖析 插入排序與選擇排序的效能分析 遞迴與分治法 合併排序 快速排序 堆積排序 O(N log N)等級演算法的效能比較 Tim 排序 本章總結 挑戰題 第六章 二元樹∼掌握無限 開場 二元搜尋樹 搜尋二元搜尋樹內容值 移除二元搜尋樹內容值 遍歷二元搜尋樹 二元搜尋樹的效能分析 自平衡二元搜尋樹 自平衡二元樹的效能分析 以二元樹實作(鍵, 值)符號表 以二元樹實作優先佇列 本章總結 挑戰題 第七章 圖∼盡在連結 有效率的以圖儲存有用資訊 以深度優先搜尋解開迷宮 採取不同策略的廣度優先搜尋 有向圖 具邊權重的圖 Dijkstra演算法 全點對最短路徑 Floyd-Warshall演算法 本章總結 挑戰題 第八章 本書總結 Python內建資料結構 以Python實作堆疊 以Python實作佇列 堆積與優先佇列的實作 後續的探索
書名 / | 演算法學習手冊: 寫出更有效率的程式 |
---|---|
作者 / | George T. Heineman |
簡介 / | 演算法學習手冊: 寫出更有效率的程式:「一本平易近人的著作,可讓你立即應用進而提升程式的執行效率。書中將教你電腦科學中會用到的基本演算法和資料型別。如果你正在找一 |
出版社 / | 聯合發行股份有限公司 |
ISBN13 / | 9786263241749 |
ISBN10 / | 6263241748 |
EAN / | 9786263241749 |
誠品26碼 / | 2682185667001 |
頁數 / | 264 |
注音版 / | 否 |
裝訂 / | P:平裝 |
語言 / | 1:中文 繁體 |
尺寸 / | 23X18.5X1.4CM |
級別 / | N:無 |
最佳賣點 : 「一本平易近人的著作,可讓你立即應用進而提升程式的執行效率。書中將教你電腦科學中會用到的基本演算法和資料型別。如果你正在找一份程式設計相關的技術工作,這本書可能會在下次的程式面試中幫助你取得好成績。」
— Zvi Galil