博客來
誠品
天瓏
momo
三民書局
讀冊生活
旗標蝦皮商城
★求職/轉職必看!Coding 面試的衝刺總複習★★57 大重點 × 74 道面試題 × 160 個例題,紮實打好基本功★要在程式開發這條路走得夠長、夠遠,資料結構和演算法是公認必修的基本功,透過觀摩、思考各種程式設計的經典問題,不斷演練、改進自己的程式,是提升程式設計功力的不二法門。也許你聽過在 IT 業界打滾多年的老手說:實際 Coding 都沒在管資料結構、演算法,只要功能寫得出來、符合規格,誰管你用甚麼方法,太冷門的寫法反而沒人看得懂。有些 Coding 的工作也許真是如此,先求有再求好,但老手前輩們沒跟你說的是…,在獲得工作前,求職面試這關就要先考考你對資料結構或演算法的理解程度,好評斷你的程式功力。有不少網站大量蒐集各種程式設計的考題,供使用者反覆演練、自我挑戰,俗稱為「刷題」。這些題目往往是從經典的資料結構或演算法問題衍生而來,若沒有對相關的邏輯推導細節有足夠的了解,只是一昧的刷刷刷,恐怕效果有限、事倍功半。作者在資訊科系任教超過30年,資料結構衍生著作累積銷量超過10萬冊,擁有非常豐富程式設計的教學和寫作經驗,也在業界當過開發工程師與資訊主管,深知業界求才的需求與標準。因此本書在規劃之初,除了務求透過豐富實作和圖解,來傳達資料結構與演算法的基礎,更嘗試將時下工程師求職必備的刷題需求,也融入各章節主題之中,系統化的打好程式設計的基礎與實力,也能同時掌握未來求職要面對的考題型式,及早準備、做好因應,才不會臨到關頭,沒發揮實力被刷掉。本書收錄了陣列、串列、樹狀結構、圖、搜尋樹等常見的資料結構,解題過程也介紹了動態規劃、貪婪法等必要的演算法概念,除了觀念解說,同時會搭配圖表、日常生活案例,以及範例、面試題、延伸題型、練習題等總計 234 個題目,盡可能增進讀者實際演練的經驗,絕對比自己在網路上摸索、東拼西湊、盲刷題目來得更有效率,是一本兼顧理論與實作,與時俱進、不可多得的入門教材。
刷題前必備的基本功!幫你打好基礎,高效提升程式設計功力○ 涵蓋最主要的資料結構與常見演算法,包括:- 遞迴設計/迴圈設計- 時間複雜度與漸進符號- 陣列和動態規劃法- 鏈結串列- 堆疊與佇列- 圖形結構/最短路徑/工作網路- 前序/中序/後序走訪- 展開樹/二元樹/AVL樹/B 樹- 氣泡/選擇/插入等基本排序法- 快速/合併/基數/堆積等進階排序法- 循序/二元/內插搜尋法- 雜湊函數設計/雜湊表 …○ 收錄 74 道經典的面試題,並依照不同難易度區分等級,使用者可依照學習進度挑選合適題型。○ 除了擬真的面試題型,也提供延伸題型、實作範例、練習題,隨時驗證自己的實力,自學、教學都適用。○ 特別收錄 Python 語法實戰速成,方便隨時惡補參照。○ 加入旗標會員 VIP 另外可獲得作者不定時補充的 Bonus 刷題技巧,持續精進程式功力。
第 1 章 初探資料結構與演算法1-1 資料結構、演算法與程式設計主題 1-A 什麼是資料結構主題 1-B 什麼是演算法主題 1-C 什麼是程式設計主題 1-D 迴圈的設計1-2 遞迴 (Recursion)主題 1-E 什麼是遞迴 主題 1-F 河內塔 (Towers of Hanoi)主題 1-G 費伯納西數列 (Fibonacci Sequence)主題 1-H 二項式係數 (Binomial Coefficient)1-3 程式的效率—時間複雜度主題 1-I 程式碼敘述的計數 主題 1-J 時間複雜度的漸近符號第 2 章 陣列與字串2-1 陣列 (Array) 主題 2-A 一維陣列主題 2-B 貪婪演算法主題 2-C 二維陣列 主題 2-D 動態規劃演算法2-2 字串 (String)主題 2-E 字串的處理 主題 2-F 字串的樣式比對第 3 章 鏈結串列3-1 各種鏈結串列 (Linked List) 主題 3-A 什麼是鏈結串列主題 3-B 以類別實作鏈結串列主題 3-C 環狀鏈結串列主題 3-D 雙向鏈結串列3-2 鏈結串列的應用主題 3-E 多項式的表示與運算主題 3-F 稀疏矩陣的表示第 4 章 堆疊與佇列4-1 堆疊 (Stack) 主題 4-A 堆疊的運算主題 4-B 鏈結堆疊 (Linked Stack)主題 4-C 運算式的轉換與計算4-2 佇列 (Queue)主題 4-D 佇列的運算 主題 4-E 鏈結佇列 (Linked Queue)第 5 章 圖 (Graph)5-1 圖的定義、資料結構與走訪主題 5-A 圖的相關定義與名詞主題 5-B 表示圖形的資料結構主題 5-C 圖的走訪5-2 圖形上的貪婪演算法主題 5-D 最小花費展開樹 (Minimum Cost Spanning Tree) 主題 5-E 最短路徑 (Shortest Path)5-3 工作網路 (Activity Network) 主題 5-F 頂點工作網路 (AOV Networks) 與拓樸排序 (Topological Sorting) 主題 5-G 邊工作網路 (AOE Networks) 與關鍵路徑 (Critical Path)第 6 章 樹狀結構6-1 樹的資料結構與走訪 主題 6-A 樹的定義及資料結構主題 6-B 樹的走訪6-2 二元樹 (Binary Tree)主題 6-C 二元樹的儲存、建立與走訪 主題 6-D 引線二元樹 (Threaded Binary Trees)主題 6-E 二元樹的計數6-3 搜尋樹 (Search Tree)主題 6-F 二元搜尋樹 主題 6-G AVL 樹 ( 高度平衡二元樹 )主題 6-H m 元搜尋樹及 B 樹6-4 樹的應用主題 6-I 互斥集合 (Union-Find)主題 6-J 資料壓縮 (Huffman Tree)第 7 章 資料排序7-1 基本排序法 主題 7-A 排序及定義主題 7-B 氣泡排序法 (Bubble Sort)主題 7-C 選擇排序法 (Selection Sort)主題 7-D 插入排序法 (Insertion Sort)7-2 進階排序法主題 7-E 合併排序法 (Merge Sort) 主題 7-F 快速排序法 (Quick Sort)主題 7-G 基數排序法 (Radix Sort)主題 7-H 堆積排序法 (Heap Sort)第 8 章 資料搜尋8-1 在循序結構上的搜尋 主題 8-A 搜尋及定義 (Definition of Searching)主題 8-B 循序搜尋法 (Sequential Search)主題 8-C 二分搜尋法 (Binary Search)主題 8-D 內插搜尋法 (Interpolation Search)8-2 利用索引結構的搜尋主題 8-E 直接索引 (Direct Index) 主題 8-F 樹狀結構索引 (Tree Index)8-3 雜湊表 (Hash Table)主題 8-G 雜湊表 附錄 A Python 語法快速入門A-1 資料型別、變數及運算A-2 Python 內建的資料結構 (容器)A-3 Python 的流程控制A-4 函式A-5 物件、類別與套件