內容簡介
最清楚的邏輯訓練X易理解的演算解析X超實用的範例練習
解題技巧大公開!適合已有程式語法基礎的您
本書為銜接C++程式設計與競賽解題的最佳途徑。內容囊括10種以上的演算法教學,包含各類競賽題目,透過「解題概念的圖解說明」→「程式碼實作與解說」→「預覽執行結果」,教導讀者釐清題意,選用最適合的方法,以最快最有效率的方式完成解題。
本書特色
◎內容淺顯易懂、解題邏輯清楚,適合已學過C++程式語法的讀者。
◎全書近100個範例,讀者可依照自己的需求練習,培養解題能力。
◎提列「UVa Online Judge解題資源」,幫助讀者熟練解題技巧,為各類程式設計競賽打下良好基礎。
◎本書提供基礎或常見的解題技巧訓練,依照單元主題融入APCS實作題,適用於訓練學生從基礎程式設計能力轉換到能夠參加各類程式設計競賽與APCS大學程式設計先修檢測。
- 1 程式輸入輸出與常用程式設計技巧(第1-1頁)
- 1-1 ▶▶ 不固定長度的資料輸入(第1-1頁)
- 1-2 ▶▶ C++ 純文字檔案輸入輸出(第1-3頁)
- 1-3 ▶▶ 程式中定義常數(第1-5頁)
- 1-4 ▶▶ 大量修改與比較資料(第1-7頁)
- 1-5 ▶▶ 廣域與自動變數的差異(第1-12頁)
- 1-6 ▶▶ 位元運算(第1-18頁)
- 2 排序(第2-1頁)
- 2-1 ▶▶ 氣泡排序(BubbleSort)(第2-1頁)
- 2-2 ▶▶ 插入排序(InsertionSort)(第2-5頁)
- 2-3 ▶▶ 合併排序(MergeSort)(第2-10頁)
- 2-4 ▶▶ 快速排序(QuickSort)(第2-17頁)
- 2-5 ▶▶ 各種排序演算法的比較(第2-23頁)
- 2-6 ▶▶ 利用 STL 進行排序(第2-23頁)
- 2-7 ▶▶ 多鍵值排序(第2-27頁)
- 2-8 ▶▶ APCS 排序相關實作題詳解(第2-29頁)
- UVa Online Judge 網路解題資源(第2-37頁)
- 3 模擬(第3-1頁)
- 3-1 ▶▶ 淘汰遊戲(使用陣列紀錄狀態)(第3-1頁)
- 3-2 ▶▶ 服務顧客(模擬時間的進行)(第3-4頁)
- 3-3 ▶▶ 神奇的蝸牛(模擬高度)(第3-7頁)
- 3-4 ▶▶ 撲克牌比大小(模擬撲克牌遊戲進行)(第3-9頁)
- 3-5 ▶▶ APCS 模擬相關實作題詳解(第3-21頁)
- UVa Online Judge 網路解題資源(第3-33頁)
- 4 貪婪(Greedy)演算法(第4-1頁)
- 4-1 ▶▶ 工作排程 1-最多有幾個工作可以執行(第4-2頁)
- 4-2 ▶▶ 工作排程 2 最多有幾台機器一起運作(第4-4頁)
- 4-3 ▶▶ 工作排程 3 最小平均等待時間(第4-7頁)
- 4-4 ▶▶ 工作排程 4 有截止期限的最大利潤(第4-9頁)
- 4-5 ▶▶ 霍夫曼(Huffman)編碼(第4-15頁)
- 4-6 ▶▶ 物品可以分割的背包(Fractional Knapsack)問題(第4-23頁)
- 4-7 ▶▶ 不適用貪婪演算法的 01 背包問題(第4-27頁)
- 4-8 ▶▶ APCS 貪婪相關實作題詳解(第4-29頁)
- UVa Online Judge 網路解題資源(第4-32頁)
- 5 暴力(第5-1頁)
- 5-1 ▶▶ 統計字母數量(第5-1頁)
- 5-2 ▶▶ 最大子陣列(Maximum Subarray)(第5-4頁)
- 5-3 ▶▶ 找出直角三角形(第5-7頁)
- 5-4 ▶▶ 求質數(第5-9頁)
- 5-5 ▶▶ 樂透包牌(第5-13頁)
- 5-6 ▶▶ 排列(第5-18頁)
- 5-7 ▶▶ 8-queen 問題(第5-23頁)
- 5-8 ▶▶ 演算法的複雜度與對應的資料量(第5-27頁)
- UVa Online Judge 網路解題資源(第5-27頁)
- 6 分而治之與二元搜尋(第6-1頁)
- 6-1 ▶▶ 分而治之(Divide and Conquer)(第6-2頁)
- 6-2 ▶▶ 不適合使用 Divide and Conquer 的問題 ― 費氏數列(第6-11頁)
- 6-3 ▶▶ 二元搜尋法(Binary Search)(第6-13頁)
- 6-4 ▶▶ APCS 二元搜尋相關實作題詳解(第6-20頁)
- UVa Online Judge 網路解題資源(第6-24頁)
- 7 動態規劃(第7-1頁)
- 7-1 ▶▶ 費氏數列(第7-2頁)
- 7-2 ▶▶ 最大子陣列(Maximum Subarray)(第7-4頁)
- 7-3 ▶▶ 01 背包(第7-6頁)
- 7-4 ▶▶ 換零錢(第7-15頁)
- 7-5 ▶▶ 最長共同子序列 (Longest Common Subsequence)(第7-27頁)
- UVa Online Judge 網路解題資源(第7-40頁)
- 8 線性資料結構(第8-1頁)
- 8-1 ▶▶ Queue(佇列)(第8-1頁)
- 8-2 ▶▶ Stack(堆疊)(第8-8頁)
- 8-3 ▶▶ Linked List(鏈結串列)(第8-20頁)
- UVa Online Judge 網路解題資源(第8-26頁)
- 9 樹狀結構(第9-1頁)
- 9-1 ▶▶ 簡介樹狀結構(第9-2頁)
- 9-2 ▶▶ 實作二元樹資料結構的程式(第9-4頁)
- 9-3 ▶▶ 二元樹的走訪(第9-9頁)
- 9-4 ▶▶ 樹狀資料結構的練習範例(第9-24頁)
- 9-5 ▶▶ APCS 樹狀結構相關實作題詳解(第9-37頁)
- UVa Online Judge 網路解題資源(第9-42頁)
- 10 圖形資料結構與圖形走訪(DFS 與 BFS)(第10-1頁)
- 10-1 ▶▶ 簡介圖形資料結構(第10-2頁)
- 10-2 ▶▶ 實作圖形資料結構(第10-5頁)
- 10-3 ▶▶ 使用深度優先進行圖的走訪(第10-11頁)
- 10-4 ▶▶ 使用寬度優先進行圖的走訪(第10-20頁)
- 10-5 ▶▶ APCS 圖形結構相關實作題詳解(第10-36頁)
- UVa Online Judge 網路解題資源(第10-41頁)
- 11 圖形最短路徑(第11-1頁)
- 11-1 ▶▶ 實作圖形資料結構 — 新增邊的權重(第11-1頁)
- 11-2 ▶▶ 使用 Dijkstra 演算法找最短路徑(第11-6頁)
- 11-3 ▶▶ 使用 Bellman Ford 演算法找最短路徑(第11-20頁)
- 11-4 ▶▶ 使用 Floyd Warshall 演算法找最短路徑(第11-34頁)
- 11-5 ▶▶ 比較最短路徑演算法 Dijkstra、Bellman Ford 與 Floyd Warshall(第11-45頁)
- UVa Online Judge 網路解題資源(第11-45頁)
- 12 常見圖形演算法(第12-1頁)
- 12-1 ▶▶ 拓撲排序(Topology Sort)(第12-1頁)
- 12-2 ▶▶ 尤拉迴路(Euler Circuit)(第12-11頁)
- 12-3 ▶▶ 最小生成樹(第12-23頁)
- 12-4 ▶▶ 找出關節點(第12-38頁)
- UVa Online Judge 網路解題資源(第12-50頁)
- A 標準樣板函式庫(Standard Template Library)(第附錄-1頁)
紙本書 NT$ 520
單本電子書
NT$
364
同分類熱門書