 |
|
|
| |
|
從零搞懂演算法:12種演算法 + 6種資料結構,超圖解入門
|
|
|
|
|
|
出版日期:2024-09-16
|
|
ISBN:9786263339484
|
|
定價:750元
特價:90折!675元
|
|
|
|
參考分類(CAT):
|
|
參考分類(CIP): 數值分析
|
|
|
|
|
|
|
|
|
內容簡介 「演算法」與「資料結構」到底是什麼?
「演算法」其實是一套「使用資料的策略」,而「資料結構」則是將資料整理成特定格式,讓你擁有更多使用資料的策略。掌握演算法是成為軟體工程師的必經之路,不僅在工作上能提升開發系統的效能,更是面試時必備的技能之一,可以說學習演算法的 CP 值實在高到不行!
▌本書特色
◉ 初學者友善,從0到1,無痛入門
◉ 提供完成程式碼,輕鬆接觸演算法
◉ LeetCode實戰教學,工作面試超加分
◉ 分享「演算法」於職場上的價值與意義
▌你將能了解到
♦ 海外大廠面試白板題解析
♦ 海外求職經驗分享
♦ 五大演算法策略:貪婪法、枚舉法、回溯法、分支界限法、分治法
♦ 三大排序演算法:氣泡排序、插入排序、選擇排序
♦ 資料結構:Stack & Queue
♦ 資料結構:Array & Linked List
♦ 演算法策略:深度優先(DFS) vs 廣度優先(BFS)
♦ 演算法效能:時間複雜度(Big O)
♦ 演算法實作:迴圈(Loop) vs 遞迴(Recursion) 作者介紹 Sam T.
長年專注於「演算法」、「雲端」 與「容器化」三大領域,著有《AWS自學聖經》、《K8S自學聖經》等暢銷書籍。獨創的圖解動畫教學與簡單易懂的講解風格,已累積 50,000+ 學員肯定。現任矽谷 FAANG 大廠資深工程師,本次將分享大廠面試要領與解題技巧,帶領大家快速掌握「演算法」!
【用圖片高效學程式】創辦人
【Hahow】線上課程平台 暢銷講師
【HiSKIO】線上軟體課程平台 特約講師 目次 | CHAPTER 00 | 為什麼要學演算法
0-1 軟體職涯談:演算法在工作上真的用得到嗎?
0-1-1 軟體界的必要之惡:面試白板題
0-1-2 工作中的演算法長這樣
0-1-3 面試中的演算法長這樣
0-2 軟體職涯談:避開冤枉路,演算法其實該這樣學
0-2-1 第一步:「演算法」與「資料結構」的定義與關係
0-2-2 第二步:什麼是「好」的演算法?
0-2-3 第三步:Array & List 入門資料結構
0-2-4 第四步:DFS & BFS 兩大演算法策略
0-2-5 第五步:3 大排序演算法(Bubble、Insertion、Selection)
0-2-6 第六步:Stack & Queue 進階資料結構
0-2-7 第七步:5 大演算法策略
| CHAPTER 01 | 打開演算法的大門
1-1 一次搞懂「資料結構」與「演算法」到底是什麼
1-1-1 前言
1-1-2 什麼是「原始資料」
1-1-3 什麼是「資料結構」
1-1-4 原始資料→特定資料結構I:改變觀點
1-1-5 原始資料→特定資料結構II:資料排序
1-1-6 什麼是「演算法」
1-1-7 演算法、資料結構與資料的三角關係
1-1-8 實際案例I:二元樹
1-1-9 實際案例II:二元搜尋樹
1-1-10 實際案例III:二元堆積樹
1-1-11 小結
1-2 演算法的品質:什麼才是「好」的演算法
1-2-1 前言
1-2-2 Big O的介紹與計算
1-2-3 Big O成本類別:no
1-2-4 Big O成本類別:log(n)
1-2-5 Big O成本類別:n
1-2-6 Big O成本類別:n log(n)
1-2-7 Big O成本類別:n2
1-2-8 Big O成本類別:2n
1-2-9 Big O成本類別:n!
1-2-10 小結
1-3 演算法的基底結構:陣列(Array)vs鏈結串列(Linked List)
1-3-1 前言
1-3-2 陣列(Array)介紹
1-3-3 陣列搜尋I:By Value
1-3-4 陣列搜尋II:By Index
1-3-5 陣列新增I:By Value
1-3-6 陣列新增II:By Index
1-3-7 陣列新增III:共同問題
1-3-8 陣列刪除I:By Value
1-3-9 陣列刪除II:By Index
1-3-10 陣列(Array)小結
1-3-11 鏈結串列(Linked List)介紹
1-3-12 鏈結串列搜尋I:By Value
1-3-13 鏈結串列新增I:By Value
1-3-14 鏈結串列刪除I:By Value
1-3-15 鏈結串列(Linked List)小結
1-3-16 陣列(Array)使用時機
1-3-17 鏈結串列(Linked List)使用時機
1-3-18 小結
1-4 演算法的實作風格I:迴圈(loop)x吃角子老虎
1-4-1 前言
1-4-2 迴圈實作I:for loop
1-4-3 迴圈實作II:while loop
1-4-4 小結
1-5 演算法的實作風格II:遞迴(recursion)x老和尚說故事
1-5-1 前言
1-5-2 遞迴觀念:老和尚說故事
1-5-3 遞迴實作:費氏數列(Fibonacci)
1-5-4 小結
1-6 演算法的基底策略:衝到底(DFS)vs平均走(BFS)
1-6-1 前言
1-6-2 登山客問題:DFS走到底運用
1-6-3 登山客問題:BFS平均走運用
1-6-4 登山客問題:小結
1-6-5 導遊的路線規劃:BFS平均走運用
1-6-6 導遊的路線規劃:小結
1-7 演算法好兄弟:衝到底(DFS)+遞迴(Recursion)
1-7-1 前言
1-7-2 DFS與遞迴的關聯介紹:單一分支
1-7-3 DFS與遞迴的關聯介紹:多個分支
1-7-4 DFS運用:找到第一顆橘子
1-7-5 小結
1-8 演算法好姐妹:公平走(BFS)+迴圈(Loop)
1-8-1 前言
1-8-2 BFS與迴圈的關聯介紹:最短路徑
1-8-3 小結
| CHAPTER 02 | 初出茅廬,小試身手:「三大排序演算法」
2-1 氣泡排序(Bubble Sort)
2-1-1 前言
2-1-2 情境:大隊接力棒次安排
2-1-3 Bubble Sort演算法:第一輪排序
2-1-4 Bubble Sort演算法:第二輪排序
2-1-5 Bubble Sort演算法:第三輪排序
2-1-6 Bubble Sort演算法:第四輪排序
2-1-7 Bubble Sort演算法:第五輪排序
2-1-8 小結
2-2 插入排序(Insertion Sort)
2-2-1 前言
2-2-2 Insertion Sort演算法:第一輪排序
2-2-3 Insertion Sort演算法:第二輪排序
2-2-4 Insertion Sort演算法:第三輪排序
2-2-5 Insertion Sort演算法:第四輪排序
2-2-6 Insertion Sort演算法:第五輪排序
2-2-7 小結
2-3 選擇排序(Selection Sort)
2-3-1 前言
2-3-2 Selection Sort演算法:第一輪排序
2-3-3 Selection Sort演算法:第二輪排序
2-3-4 Selection Sort演算法:第三輪排序
2-3-5 Selection Sort演算法:第四輪排序
2-3-6 Selection Sort演算法:第五輪排序
2-3-7 小結
| CHAPTER 03 | 掌櫃的,來一碗資料結構!
3-1 Stack(LIFO):吃洋芋片也能學資料結構!?Σ( ゚д゚ )
3-1-1 前言
3-1-2 情境:生活中的洋芋片
3-1-3 Stack的實現:陣列(Array)
3-1-4 Stack常見運用場景I:河內塔
3-1-5 Stack常見運用場景II:簡易遞迴
3-1-6 Stack常見運用場景III:進階遞迴
3-1-7 小結
3-2 Queue(FIFO):排隊買票看電影
3-2-1 前言
3-2-2 情境:排隊看電影
3-2-3 Queue的實現I:陣列(Array)
3-2-4 Queue的實現II:環形陣列(Circular Queue)
3-2-5 小結
3-3 Priority Queue:排隊上廁所,憋不住啦!இдஇ
3-3-1 前言
3-3-2 情境:實驗室燒瓶的最大值
3-3-3 小結
| CHAPTER 04 | 扎根腳步:五大演算法策略
4-1 貪婪法(Greedy):自信心爆棚,找零錢
4-1-1 前言
4-1-2 貪婪法的意外狀況
4-1-3 貪婪法的成功條件
4-1-4 小結
4-2 貪婪法(Greedy):自信心爆棚,走迷宮
4-2-1 前言
4-2-2 走出迷宮:找出最小路徑成本
4-2-3 小結
4-3 枚舉法(Enumeration):我不聰明,但我很實在
4-3-1 前言
4-3-2 全球航班規劃:找尋合格解與最佳解
4-3-3 小結
4-4 回溯法(Backtracking):菜市場挑橘子,找出合格解們
4-4-1 前言
4-4-2 全球航班規劃:找尋合格解
4-4-3 小結
4-5 分支界限法(Branch and Bound):丈母娘選婿,挑出最佳解
4-5-1 前言
4-5-2 全球航班規劃:找尋最佳解
4-5-3 小結
4-6 暴力解策略:枚舉法 vs 回溯法 vs 分支界限法
4-6-1 前言
4-6-2 枚舉法(Enumeration)的使用時機
4-6-3 回溯法(Backtracking)的使用時機
4-6-4 分支界限法(Branch and Bound)的使用時機
4-6-5 小結
4-7 分治法(Divide & Conquer):大事化小,小事化無
4-7-1 前言
4-7-2 分治演算法I:Decrease and Conquer
4-7-3 分治演算法II:Divide and Conquer
4-7-4 小結
4-8 分治法(Divide & Conquer):河內塔經典題
4-8-1 前言
4-8-2 河內塔(Hanoi Tower)介紹
4-8-3 河內塔:基底問題(Base Case)定義
4-8-4 河內塔:子問題(Sub-Problem)定義
4-8-5 河內塔:分治法的拆解模式
4-8-6 小結
4-9 分治法(Divide & Conquer):河內塔(Hanoi Tower)程式碼實作
4-9-1 前言
4-9-2 河內塔實作I:狀態初始化
4-9-3 河內塔實作II:遞迴方法實作
4-9-4 河內塔實作III:基底問題(Base Case)定義
4-9-5 河內塔實作IV:程式執行和結果驗證
4-9-6 小結
4-9-7 完整程式碼
| CHAPTER 05 | 實戰篇 面試白板題:媽,我錄取了!
5-1 Apple白板題:Linked List &後序遍歷 觀念運用
5-1-1 前言
5-1-2 題目介紹
5-1-3 解題思路一:使用「Stack」的可能性
5-1-4 解題思路二:使用「遞迴」的可能性
5-1-5 解題實作I:遞迴方法→顛倒數字
5-1-6 解題實作II:顛倒數字→Linked List
5-1-7 進階解題技巧:使用字串代表數字
5-1-8 小結
5-1-9 完整程式碼
5-2 Microsoft白板題:Stack &遞迴 觀念運用
5-2-1 前言
5-2-2 題目介紹
5-2-3 解題思路一:中間切一刀,左右擴展走
5-2-4 解題思路二:由左而右,由右而左
5-2-5 解題方案一:Stack「後進先出」
5-2-6 Stack解法:時間複雜度分析
5-2-7 Stack解法:空間複雜度分析
5-2-8 解題方案二:遞迴方法替代Stack結構
5-2-9 小結
5-2-10 完整程式碼
5-3 Google白板題:Tree階層&遞迴 觀念運用
5-3-1 前言
5-3-2 題目介紹
5-3-3 解題思路:樹狀遍歷,4大方向分支
5-3-4 解題實作I:遍歷島嶼地圖
5-3-5 解題實作II:島嶼面積計算的遞迴方法
5-3-6 小結
5-3-7 完整程式碼
5-4 海外求職經驗分享:演算法如何幫我拿到大廠公司錄取通知
5-4-1 「美國矽谷」Google面試流程解密
5-4-2 拿到面試的4大管道:主動出擊,創造機會
5-4-3 少量刷題→大量offer:精準練習才是王道
5-4-4 3家面試x 3份offer:100%錄取率
作者的話 & What''s Next?
1、五南網路會員所購買的商品均享有取貨7天的鑑賞期﹝包含國定假日、例假日﹞,退換貨之商品必需於取貨7天內辦理退換貨,否則恕不接受退換貨。
2、依照消費者保護法規定,凡消費者於網站購物均享有7天商品鑑賞期,唯需注意辦理退貨商品需保留完整外包裝、附件、外盒等等,才可辦理退貨。
3、如欲退貨,請在鑑賞期內將商品連同發票寄回,每張訂單限退一次。
4、鑑賞期非試用期,若您收到商品經檢視後有任何不合意之處,請立即依照退貨規定辦理退貨
1、若本網站已設團購價,請直接下訂即可。
2、如您需要其他類型產品團購,則請聯繫客服或直接將需求e-mail
至wunan2351960@gmail.com即可
一、購物說明 1.本站商品近60萬筆。(商品圖片、出版日期等相關資訊僅供參考,出貨一律是最新版本) ◎請注意:上架商品不等於一定可以出貨。(會有缺書而訂不到書的狀況,敬請體諒) 2.當您下訂時,我們會向出版訂書(約7-10個工作天)(政府出版品因受限於採購程序,平均補貨作業時間約 2~6週)。如有久候,敬請見諒。當出版社回覆缺書時,我們只能取消您的訂單。 3.當您下訂時您必須同意:訂單成立的第14天起,因缺某一本書無法出貨的訂單,本站有權利自動取消您的訂單。◎請注意:缺書取消訂單我們統一發送簡訊通知。如果您要部份出貨者,請留言後再重新下單。 4.、本站保留出貨的權利。 二、運費說明 1.宅配到府:滿999元免運費,未滿則加收65元(台灣本島),離島一律加收120元 2.五南門市取貨:未滿350,運費20元 3.揪團:免運費 三、退貨與退款說明 五南會員所購買的商品均享有取貨7天的猶豫期﹝包含國定假日、例假日﹞,退換貨之商品必需於取貨7天內辦理退換貨,否則恕不接受退換貨。 1.請注意!下列商品購買後不提供7天的猶豫期,請務必詳閱商品說明並再次確認確實有購買該項商品之需求及意願時始下單購買,有任何疑問並請先聯繫客服詢問: (1)客製化之商品。 (2)買斷不退之商品。 (3)報紙、期刊或雜誌。 (4)經消費者拆封之影音商品或電腦軟體。 (5)下載版軟體、資訊及電子書。 (6)涉及個人衛生,並經消費者拆封之商品,如:內衣褲、刮鬍刀…等。 (7)藝文展覽票券、藝文表演票券。 (8)易於腐敗、保存期限較短或解約時即將逾期。 2.退貨退款詳細說明: (1)如欲退貨,請在鑑賞期內將商品連同發票寄回,每張訂單限退一次。 (2)退換貨政策:請在收到商品後,立刻檢查商品是否正確,如果有問題或瑕疵,請於7天猶豫期內完成退換貨申請手續。辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 (3)退款說明:請您填寫退貨退款書,若您採信用卡付款,由客服人員辦理刷退手續。若採其他付款方式,我們會將退款,匯款至指定帳戶。以上需要14個工作天。 (4)退貨退款書請至【客服中心】點選『退換商品】的說明中下載。
1.每日09:00前截止訂單,包含出貨通知、缺書通知等。 3.上午9:00點以前下單,可在當日下午17:00以後,查詢出貨進度。例假日除外 4.上午9:00以後在下單,需在隔日17:00以後,方能查詢訂單出貨進度。例假日除外 5.當你使匯款或轉帳時,請務必提供帳戶末5碼之資訊,請拍照email或傳真給我方,否則須等與銀行確認後,才能出貨。 6.出貨是以下單時間為出貨先後的順序,也就是請先下單再查詢庫存,因為就算查完庫存,也可能無法先為你保留書籍(政府出版品因受限於採購程序,平均補貨作業時間約 2~6週)。
|
|
|
|
|
|
 |
從零搞懂演算法:12種演算法 + 6種資料結構,超圖解入門
出版日期:2024-09-16
ISBN:9786263339484
定價:750元
特價:90折!675元
參考分類(CAT):
參考分類(CIP): 數值分析