商品編號:DJAA2V-A900HRF7M

從零搞懂演算法:12種演算法+6種資料結構,超圖解入門

驚喜優惠
$593
$750
  • 登記送

    【7-11】單筆滿$350純取貨/取貨付款訂單登記送香鑽水果茶兌換券乙張(限量)

  • 登記送

    【OK】單筆滿$1純取貨/取貨付款訂單登記送OK購物金30元(限量)

  • 登記送

    App限定-全站指定單筆滿$2500登記送雙11獨享券(限量/效期2024/11/4~11/12)

付款方式
出貨
  • PChome 倉庫出貨,24小時到貨
配送
宅配滿$490免運,超取滿$350免運
  • 宅配到府(本島/低溫)
    滿$699免運
  • 宅配到府(本島/常溫)
    滿$490免運
  • 超商取貨(常溫)
    滿$350免運
  • 超商取貨(低溫)
    滿$699免運
  • i郵箱(常溫)
    滿$290免運
商品詳情
作者:
ISBN:
9786263339484
出版社:
出版日期:
2024/09/12
  • 內文簡介

  • <內容簡介>

    「演算法」與「資料結構」到底是什麼?

    「演算法」其實是一套「使用資料的策略」,而「資料結構」則是將資料整理成特定格式,讓你擁有更多使用資料的策略。掌握演算法是成為軟體工程師的必經之路,不僅在工作上能提升開發系統的效能,更是面試時必備的技能之一,可以說學習演算法的 CP 值實在高到不行!

    ▌本書特色
    ◉ 初學者友善,從0到1,無痛入門
    ◉ 提供完成程式碼,輕鬆接觸演算法
    ◉ LeetCode實戰教學,工作面試超加分
    ◉ 分享「演算法」於職場上的價值與意義

    ▌你將能了解到
    ♦ 海外大廠面試白板題解析
    ♦ 海外求職經驗分享
    ♦ 五大演算法策略:貪婪法、枚舉法、回溯法、分支界限法、分治法
    ♦ 三大排序演算法:氣泡排序、插入排序、選擇排序
    ♦ 資料結構:Stack & Queue
    ♦ 資料結構:Array & Linked List
    ♦ 演算法策略:深度優先(DFS) vs 廣度優先(BFS)
    ♦ 演算法效能:時間複雜度(Big O)
    ♦ 演算法實作:迴圈(Loop) vs 遞迴(Recursion)


    ★目錄:

    | 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?


    <作者簡介>

    Sam T.
    長年專注於「演算法」、「雲端」 與「容器化」三大領域,著有「AWS自學聖經」、「K8S自學聖經」等暢销書籍。獨創的圖解動畫教學與簡單易懂的講解風格,已累積 50,000+ 學員肯定。現任矽谷 FAANG 大廠資深工程師,本次將分享大廠面試要領 與解題技巧,帶領大家快速掌握「演算法」!

    【用圖片高效學程式】創辦人
    【Hahow】線上課程平台 暢銷講師
    【HiSKIO】線上軟體課程平台 特約講師

購物須知
寄送時間
全台灣24h到貨,遲到提供100元現金積點。全年無休,週末假日照常出貨。例外說明
送貨方式
透過宅配送達。除網頁另有特別標示外,均為常溫配送。
消費者訂購之商品若經配送兩次無法送達,再經本公司以電話與Email均無法聯繫逾三天者,本公司將取消該筆訂單,並且全額退款。
送貨範圍
限台灣本島與離島地區註,部分離島地區包括連江馬祖、綠島、蘭嶼、琉球鄉…等貨件,將送至到岸船公司碼頭,需請收貨人自行至碼頭取貨。注意!收件地址請勿為郵政信箱。
註:離島地區不配送安裝商品、手機門號商品、超大材商品及四機商品。
售後服務
缺掉頁更換新品
執照證號&登錄字號
本公司食品業者登錄字號A-116606102-00000-0
關於退貨
  • PChome24h購物的消費者,都可以依照消費者保護法的規定,享有商品貨到次日起七天猶豫期的權益。(請留意猶豫期非試用期!!)您所退回的商品必須回復原狀(復原至商品到貨時的原始狀態並且保持完整包裝,包括商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性)。商品一經拆封/啟用保固,將使商品價值減損,您理解本公司將依法收取回復原狀必要之費用(若無法復原,費用將以商品價值損失計算),請先確認商品正確、外觀可接受再行使用,以免影響您的權利,祝您購物順心。
  • 如果您所購買商品是下列特殊商品,請留意下述退貨注意事項:
    1. 易於腐敗之商品、保存期限較短之商品、客製化商品、報紙、期刊、雜誌,依據消費者保護法之規定,於收受商品後將無法享有七天猶豫期之權益且不得辦理退貨。
    2. 影音商品、電腦軟體或個人衛生用品等一經拆封即無法回復原狀的商品,在您還不確定是否要辦理退貨以前,請勿拆封,一經拆封則依消費者保護法之規定,無法享有七天猶豫期之權益且不得辦理退貨。
    3. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,一經您事先同意後始提供者,依消費者保護法之規定,您將無法享有七天猶豫期之權益且不得辦理退貨。
    4. 組合商品於辦理退貨時,應將組合銷售商品一同退貨,若有遺失、毀損或缺件,PChome將可能要求您依照損毀程度負擔回復原狀必要之費用。
  • 若您需辦理退貨,請利用顧客中心「查訂單」或「退訂/退款查詢」的「退訂/退貨」功能填寫申請,我們將於接獲申請之次日起1個工作天內檢視您的退貨要求,檢視完畢後將以E-mail回覆通知您,並將委託本公司指定之宅配公司,在5個工作天內透過電話與您連絡前往取回退貨商品。請您保持電話暢通,並備妥原商品及所有包裝及附件,以便於交付予本公司指定之宅配公司取回(宅配公司僅負責收件,退貨商品仍由特約廠商進行驗收),宅配公司取件後會提供簽收單據給您,請注意留存。
  • 退回商品時,請以本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋),原封包裝後交付給前來取件的宅配公司;如果本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋)已經遺失,請您在商品原廠外盒之外,再以其他適當的包裝盒進行包裝,切勿任由宅配單直接粘貼在商品原廠外盒上或書寫文字。
  • 若因您要求退貨或換貨、或因本公司無法接受您全部或部分之訂單、或因契約解除或失其效力,而需為您辦理退款事宜時,您同意本公司得代您處理發票或折讓單等相關法令所要求之單據,以利本公司為您辦理退款。
  • 本公司收到您所提出的申請後,若經確認無誤,將依消費者保護法之相關規定,返還您已支付之對價(含信用卡交易),退款日當天會再發送E-mail通知函給您。