演算法生存指南
李耕銘、張凱鈞 編著
- 出版商: 深智
- 出版日期: 2022-10-20
- 定價: $800
- 售價: 7.9 折 $632
- 語言: 繁體中文
- 頁數: 720
- ISBN: 6267146170
- ISBN-13: 9786267146170
-
相關分類:
Algorithms-data-structures
立即出貨(限量) (庫存=9)
買這商品的人也買了...
-
$580$452 -
$810$770 -
$680$537 -
$650$507 -
$500$390 -
$607Effective Java, 3/e (簡體中文版)
-
$774$735 -
$980$774 -
$780$616 -
$450$405 -
$520$411 -
$680$530 -
$880$695 -
$720$562 -
$620$490 -
$600$468 -
$580$458 -
$1,080$820 -
$620$490 -
$780$616 -
$580$458 -
$880$695 -
$580$522 -
$880$695 -
$720$562
相關主題
商品描述
「What I cannot create, I do not understand.」 - Richard Feynman
最實用演算法指南,讓你在隨機森林裡也不迷航。
本書挑選出最實用、出現頻率最高的演算法及相關例題,並以C++實作,透過實作來了解每一種演算法的流程,同時每章節後皆附上 LeetCode 或 APCS考古題與線上批改系統連結供讀者練習。
本書適合…
✪修習資料結構與演算法之學生
✪準備APCS或程式競試的學生
✪準備面試或轉職成為軟體工程師的你
本書特色
✪挑選出最實用且出現頻率最高的演算法,並附上每個演算法的步驟圖解與實作程式碼
✪每章節後皆附上LeetCode APCS考古題與線上批改系統連結供讀者練習
✪仿照大學教材與進度編排,可做為大學課程的輔助或先修教材
✪講解常見的C++ STL 用法及操作原理,熟悉 C++ STL的使用能夠使你在程式競賽或面試中脫穎而出
✪程式競賽中常見的技巧或相關注意事項
電子資源
作者簡介
作者介紹
李耕銘
電機所畢業後目前不務正業地在台大資工訓練班擔任講師,平時喜歡教學、寫文章、研究基礎科學,現在養了五隻貓,努力過每一天掙罐頭錢。
本書也是作者在資工訓練班開設演算法課程的參考教材。
bit.ly/3L2xOqI
Email:lkm543@gmail.com
編者介紹
張凱鈞
本來是商業顧問,因為覺得每天都在說一樣的話所以轉而研究自然語言處理。
願望是做一個很棒的系統陪大家聊天、幫助大家工作、守護世界和平。
目錄大綱
01 資料結構與演算法入門
1-1 資料結構與演算法簡介
1-2 效能還與哪些因素有關
1-3 Take Home Message
02 複雜度估算 Complexity
2-1 複雜度簡介
2-2 複雜度的估計法
2-3 Big-O 的運算證明
2-4 極限的表達方式
2-5 複雜度的其他符號
2-6 遞迴的複雜度計算
習題
03 P 與 NP 問題
3-1 演算法問題的分類
3-2 問題的難度
3-3 歸約與NP-hard
3-4 NP-complete(NPC)
習題
04 排序 Sort
4-1 排序簡介
4-2 插入排序法 Insertion Sort
4-3 謝爾排序法 Shell Sort
4-4 選擇排序法 Selection Sort
4-5 冒泡排序法 Bubble Sort
4-6 合併排序法 Merge Sort
4-7 堆積排序法 Heap Sor
4-8 快速排序法 Quick Sort
4-9 C++ STL 中的排序
4-10 實戰練習
4-11 (補充) C++ STL 的內觀排序法
習題
05 搜尋 Search
5-1 搜尋簡介
5-2 循序搜尋
5-3 二分搜尋法
5-4 插補搜尋
5-5 黃金切割搜尋
5-6 費氏搜尋
5-7 雜湊搜尋
5-8 搜尋總結
5-9 實戰練習
習題
06 分治法Divide and Conquer
6-1 分治法 Divide and Conquer 簡介
6-2 河內塔
6-3 合併排序與快速排序
6-4 最大子數列問題
6-5 矩陣相乘
6-6 選擇問題
6-7 支配理論
6-8 實戰練習
習題
07 貪婪演算法 Greedy Algorithm
7-1 貪婪演算法簡介
7-2 找錢問題
7-3 中途休息
7-4 活動選擇問題
7-5 背包問題 Knapsack Problem
7-6 工作排程
7-7 實戰練習
習題
08 動態規劃 Dynamic Programming
8-1 動態規劃簡介
8-2 動態規劃解析
8-3 找錢問題
8-4 最大子數列
8-5 活動選擇問題
8-6 郵票問題
8-7 木頭切割問題
8-8 背包問題
8-9 矩陣鏈乘
8-10 最長遞增子序列 (Longest
Increasing Subsequence, LIS)
8-11 最長共同子序列( Longest
Common Subsequence, LCS)
8-12 實戰練習
8-13 小結
習題
09 圖論 Graph
9-1 「圖」的定義
9-2 圖的表示方式
9-3 圖的分類
9-4 AOV 網路、AOE 網路與拓樸
排序
9-5 實戰練習
習題
10 廣度優先搜尋Breadth-First Search
10-1 圖的搜尋
10-2 廣度優先搜尋的實作
10-3 計算連通元件個數
10-4 窮舉所有情形
10-5 最短路徑
10-6 環的判別
10-7 實戰練習
習題
11 深度優先搜尋Depth-First Search
11-1 深度優先搜尋簡介與實作
11-2 拓樸排序
11-3 強連通元件
11-4 N 皇后問題
11-5 實戰練習
習題
12 最小生成樹 Minimal Spanning Tree
12-1 最小生成樹定義與原理
12-2 集合的搜尋與合併
12-3 Kruskal 演算法
12-4 Prim 演算法
習題
13 網路流 Flow Network
13-1 網路流問題簡介
13-2 網路流問題的演算法
13-3 Ford-Fulkerson 方法
13-4 Edmonds-Karp Algorithm
13-5 二分圖最大匹配
習題
14 最短路徑Shortest Path
14-1 最短路徑問題簡介
14-2 Bellman-Ford Algorithm
14-3 SPFA (Shortest Path Faster
Algorithm)
14-4 DAG Algorithm
14-5 Dijkstra's Algorithm
14-6 Floyd-Warshall Algorithm
14-7 最短路徑問題總結
習題