Python 資料結構×演算法 刷題鍛鍊班:234 題帶你突破 Coding 面試的難關
謝樹明
買這商品的人也買了...
-
$1,200$1,020 -
$680$537 -
$480$408 -
$720$562 -
$780$616 -
$880$695 -
$780$608 -
$580$458 -
$2,115Essential Math for Data Science: Take Control of Your Data with Fundamental Linear Algebra, Probability, and Statistics (Paperback)
-
$620$465 -
$620$527 -
$720$569 -
$580$493 -
$650$514 -
$630$498 -
$680$530 -
$500$390 -
$500$390 -
$880$695 -
$580$435 -
$620$490 -
$650$514 -
$600$468 -
$650$507 -
$560$442
相關主題
商品描述
內容介紹:
★求職/轉職必看!Coding 面試的衝刺總複習★
★57 大重點 × 74 道面試題 × 160 個例題,紮實打好基本功★
要在程式開發這條路走得夠長、夠遠,資料結構和演算法是公認必修的基本功,透過觀摩、思考各種程式設計的經典問題,不斷演練、改進自己的程式,是提升程式設計功力的不二法門。
也許你聽過在 IT 業界打滾多年的老手說:實際 Coding 都沒在管資料結構、演算法,只要功能寫得出來、符合規格,誰管你用甚麼方法,太冷門的寫法反而沒人看得懂。有些 Coding 的工作也許真是如此,先求有再求好,但老手前輩們沒跟你說的是…,在獲得工作前,求職面試這關就要先考考你對資料結構或演算法的理解程度,好評斷你的程式功力。
有不少網站大量蒐集各種程式設計的考題,供使用者反覆演練、自我挑戰,俗稱為「刷題」。這些題目往往是從經典的資料結構或演算法問題衍生而來,若沒有對相關的邏輯推導細節有足夠的了解,只是一昧的刷刷刷,恐怕效果有限、事倍功半。
作者在資訊科系任教超過30年,資料結構衍生著作累積銷量超過10萬冊,擁有非常豐富程式設計的教學和寫作經驗,也在業界當過開發工程師與資訊主管,深知業界求才的需求與標準。因此本書在規劃之初,除了務求透過豐富實作和圖解,來傳達資料結構與演算法的基礎,更嘗試將時下工程師求職必備的刷題需求,也融入各章節主題之中,系統化的打好程式設計的基礎與實力,也能同時掌握未來求職要面對的考題型式,及早準備、做好因應,才不會臨到關頭,沒發揮實力被刷掉。
本書收錄了陣列、串列、樹狀結構、圖、搜尋樹等常見的資料結構,解題過程也介紹了動態規劃、貪婪法等必要的演算法概念,除了觀念解說,同時會搭配圖表、日常生活案例,以及範例、面試題、延伸題型、練習題等總計 234 個題目,盡可能增進讀者實際演練的經驗,絕對比自己在網路上摸索、東拼西湊、盲刷題目來得更有效率,是一本兼顧理論與實作,與時俱進、不可多得的入門教材。
本書特色:
刷題前必備的基本功!
幫你打好基礎,高效提升程式設計功力
○ 涵蓋最主要的資料結構與常見演算法,包括:
- 遞迴設計/迴圈設計
- 時間複雜度與漸進符號
- 陣列和動態規劃法
- 鏈結串列
- 堆疊與佇列
- 圖形結構/最短路徑/工作網路
- 前序/中序/後序走訪
- 展開樹/二元樹/AVL樹/B 樹
- 氣泡/選擇/插入等基本排序法
- 快速/合併/基數/堆積等進階排序法
- 循序/二元/內插搜尋法
- 雜湊函數設計/雜湊表 …
○ 收錄 74 道經典的面試題,並依照不同難易度區分等級,使用者可依照學習進度挑選合適題型。
○ 除了擬真的面試題型,也提供延伸題型、實作範例、練習題,隨時驗證自己的實力,自學、教學都適用。
○ 特別收錄 Python 語法實戰速成,方便隨時惡補參照。
○ 加入旗標會員 VIP 另外可獲得作者不定時補充的 Bonus 刷題技巧,持續精進程式功力。
作者簡介
謝樹明 博士
曾任大學資工系系主任、科技公司研發主管、醫療體系資訊主管,也是暢銷 IT、英文學習書籍的作者
這麼多身分,最熱愛的還是教學與著書。著作中《細談資料結構》是最暢銷的台灣原生中文資料結構書籍,系列著作累積銷量超過 10 萬本,協助眾多學子們邁入資料結構及演算法的殿堂。另也跨界著有《積木閱讀法 奇蹟 3 步驟 翻轉英文閱讀力!》一書,甫上市即高居「誠品網路書店語言類」新書排行榜第一名,書中提出的方法也已取得中華民國發明專利。
近來作者也嘗試跨足線上課程,以「熊貓教授史丹利」的名號開設了演算法、人工智慧等課程,持續為資訊教育貢獻一份心力。
希望這本書也能幫助更多想要提升程式功力的朋友!
目錄大綱
目錄:
第 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 物件、類別與套件