超圖解!一次搞懂演算法|平衡樹系列

    利用圖解教學,有效且快速學習複雜難懂的演算法與資料結構!

    428
    5.0
    • 二元樹的隱憂 vs 平衡樹的優點

    • 【紅黑樹十講】

    • 平衡樹資料結構:二元堆積樹 (Heap)

    • 平衡樹資料結構:AVL 樹

    • 平衡樹資料結構:2-3 樹

    US$49.62

    按一下 進入設定

    00:00
    00:00
    00:00

     

    【完整學習組合包】開課期間,限時優惠 $3790 

    最完整!演算法學習路線圖

     

    第一章  二元堆積樹(Binary Heap Tree)

     

     二元堆積樹的定位與平衡

    • 二元堆積樹與二元搜尋樹高度相似,最適合做作為切入平衡樹系列的開頭,同 BST 有著分支數為 2 的樹狀結構。
    • 二元堆積樹由於不需維持「左小右大」的規則,轉換去維持「上小下大」的關係,因此讓我們能利用此點、持續保持樹的平衡。

     

     

     

    ❶ Heap Sort 排序法

    • 由「二元堆積樹」衍伸出來,透過多次的「刪除」操作,我們將能把一個數列精確排序,並有著極佳的排序效能。

     

     

    第二章  AVL Tree(Self-Balanced BST)

     

    ❶ AVL樹 定位與架構

    • 立基於 BST,AVL樹同樣有著分支數為 2 的特性,同時加上「旋轉」的概念,讓我們能永久維持樹的平衡,保障搜尋效能。

     

     

     AVL 四種核心操作介紹

    • Left-Left 旋轉:透過旋轉,將一側的深度轉移到另一側。
    • Left-Right 旋轉:先進行小規模旋轉,調整好之後,再將一側的深度轉移到另一側。
    • Right-Right 旋轉:透過旋轉,將一側的深度轉移到另一側。
    • Right-left 旋轉:先進行小規模旋轉,調整好之後,再將一側的深度轉移到另一側。

     

     

    第三章  2-3 Tree(Self-Balanced B-Tree)

     2-3 樹定位與平衡

    • 2-3 樹為 B-Tree 其中一個類別,隨著我們學習平衡樹越來越深,我們樹的分支數也將隨著提高,此處每個節點開始能有 3 個分支。
    • 2-3 樹將確保所有 leaf 都在同一層,藉此維持樹的平衡並保障效能。

     2-3 樹 新增 :

    • 新增:2-3 樹的新增,不同於之前的樹狀結構,將會以一種「由底而上」的概念進行,並進行適當的「拆解」與「向上融合」。

     

     2-3 樹 搜尋:

    • 搜尋:2-3 樹的搜尋,由於一個節點可能有 2 個 key 值,因此搜尋時需同時進行多值判定。

     

     

    2-3 樹 刪除:

    • 刪除:2-3 樹的刪除,相對複雜許多,有許多細部分類,需要特別耐心的逐一理解,吸收後將能對平衡樹有更深一層認識。

     

     

    第四章  2-3-4 Tree(Self-Balanced B-Tree)

    ❶ 2-3-4 樹 定位與平衡:

    • 2-3-4 樹同為 B-Tree 其中一個類別,由 2-3 樹繼續延伸,讓每個節點開始能有 4 個分支。
    • 2-3-4 將作為我們紅黑樹的前哨戰,了解 2-3-4 樹將幫助我們更順暢地進入紅黑樹單元。
    • 2-3-4 樹同樣確保所有 leaf 都在同一層,藉此維持樹的平衡並保障效能。

     

    ❶ 2-3-4 樹 新增:

    • 新增:2-3-4 樹的新增,同於 2-3 樹,以一種「由底而上」的概念進行,並進行適當的「拆解」與「向上融合」。

     

    2-3-4 樹 搜尋:

    • 搜尋:2-3-4 樹的搜尋,由於一個節點可能有 3 個 key 值,因此搜尋時需同時進行多值判定。

     

     

     2-3-4 樹 刪除:

    • 刪除:2-3-4 樹的刪除,複雜度增加,有更多細部分類,同樣需要特別耐心的一個個理解,吸收後將能對平衡樹有更深一層認識。

     

     

    第五章 紅黑樹十講(Self-Balanced BST)

    【壹】什麼是紅黑樹?架構與定位

    • 紅黑樹同BST,每個節點有著 2 個分支。不僅如此,紅黑樹將利用「顏色」來判斷進行平衡的時機點,掌握紅色節點對於紅黑樹的意義,是學習紅黑樹的第一步。

     

    【貳】2-3-4 樹 & 紅黑樹 架構轉換:

    • 2-3-4樹 做為學習紅黑樹的前哨戰,意義中他們是同一種架構,然而 2-3-4樹 難以用程式實作,所以我們利用紅黑樹的「顏色」概念,讓程式實作更加順暢。也是因為此原因,讓紅黑樹成為最常用的平衡樹之一。

     

     

     

    【參】紅黑樹「新增四大規則」觀念解說

    • 新增:紅黑樹的新增,涵蓋「選轉」與「顏色」兩樣操作,同時包含四種處理狀況,彼此互相交互連結。透過詳細圖解步驟,將能有效學習紅黑樹新增概念。

     

     

    【肆】紅黑樹「新增 從0到1」完整流程示範:

    【捌】紅黑樹「新增 Live」實作演練:

    • 我們將從全空的樹,一步步透過我們之前所學的「新增四大規則」,建立起一顆符合所有規則的紅黑樹!

     

     

    【伍】紅黑樹 搜尋 觀念解說

    【玖】紅黑樹 搜尋 Live 實作演練

    • 搜尋:紅黑樹搜尋與 BST 非常相似,持續透過二分法找尋,最終獲得極佳的搜尋效能。更由於樹的永遠平衡,二元搜尋法的效能將持續保障著。

     

     

    【陸】紅黑樹 「刪除八大規則」 觀念解說

    • 刪除:紅黑樹刪除有八種不同情境,需要仔細透過圖解步驟,才有辦法確切掌握。此外,不同 Case 間也會相互連結,是學習紅黑樹一個關鍵的坎,既困難也重要。

     

     

    【柒】紅黑樹 「刪除 從0到1」完整流程示範:

    【拾】紅黑樹「刪除 Live」實作演練:

    • 我們將從一顆完整的紅黑樹,一步步透過我們之前所學的「刪除 八大規則」,將我們的樹不斷削減、直到歸為成土。

     

     

    學習+解題的高互動課程,事半功倍

    # 擁有一位解題老師,收穫許多學習夥伴

     

     

    「用圖片高效學程式」臉書專頁:專頁連結

     

    「用圖片高效學程式」YT頻道:頻道連結

     

    「Cloud Taiwan - AWS x GCP x Azure」版主:社團連結

     

    本次課程除了可以透過社群和老師互動問答,也可以與同學一起分享解題時遇到的困難、找出彼此的盲點,有效加深記憶,比獨自解題更有效果!而且老師提供豐富的課後資源,讓你不只購買課程,還能同時擁有多元的自學管道。

     

     

    這堂課和其他堂課有什麼不一樣?

    # 為面試打造的實戰寶典,你不再需要其他演算法課程了

     

     

     

    # 小白友好型課程,面向基礎從 0 開始

     

    即使從沒學過演算法和資料結構也沒關係,一知半解也沒問題!有經驗豐富的老師帶領,更容易從頭開始進行有系統的學習,比起自學更有效率,也能讓知識體系建構的更完整全面,打下扎扎實實的基礎。

     

    # 獨創動畫式教學,讓演算法更容易被理解

     

    看似抽象複雜的演算法其實富有邏輯性,本堂課利用動畫拆解每個演算法流程,用生動的表達方式補充一般的平面概述和圖說,此外還提供大家完整的演算法圖解集,能夠放在手機裡帶著走,隨時隨地拿出來看。

     

    # 實際解題,白板面試不緊張

     

    有在準備面試的求職者,相信對 Leetcode 並不陌生,裡面記錄了各式各樣的題目,堪稱白板面試與線上題庫的測驗題本。本堂課程除了學習演算法和資料結構,還同時搭配 LeetCode 實際解題,雙管齊下加深印象,每個步驟清楚演繹,讓你在面試官前也能侃侃而談。

     

    # 附贈國內外必考白板題解析,上場前先練一遍

     

    自己刷 Leetcode 容易大海撈針沒有方向,因此老師特別整理出國內外業界愛考的面試題型(如:GoogleAmazon),讓你在正式上場前能先試試水溫,了解目前職場環境關心的演算法是什麼,順便檢測自己的實力。

     

     

    有了穩固的演算法能力,在以下領域,都能倍增你的職場競爭力

     

     

    獨創式「動畫圖解」演算法,前因後果一目了然

    # 新手也能輕鬆讀懂,讓演算法自己演給你看

     

    為什麼二元樹一下畫左、一下畫右?演算法的概念描述看起來總是抽象又難懂,理解完上一句,下一句馬上就看不懂。來本堂課,老師會告訴不用怕,利用動畫將一連串的排列規則「演」出來,強過只在腦中沙盤推演,吸收更直覺。

     

     

     

    還有系列課程組合,一整套完整學習,無需其他額外教材

    # 幫你安排好了課程學習順序,跟著學建立思考邏輯

     

     

     

    誰適合學習這堂課?

    💡 想要進入大公司、一年內準備面試的求職者

    💡 想要提升薪水,補足本科系知識的自學轉職者

    💡 想要融會貫通,學過資料結構與演算法課程的學習者

     

    從長久角度而已,演算法將決定你的技術上線,許多自學的人通常不會有的本科系知識,因此自學想追上其他軟體工程師的人非常適合利用這門課程穩固基礎,可以從頭開始進行有系統的學習,而面試求職、求學更是需要這門課快速複習、刷題解題,在短期內將時間做最有效的應用,提升成功率。

    課程使用 Java 實作,我會其他程式語言可以接上嗎?

    可以的!課程主軸是教演算法觀念,實作是輔佐觀念理解。基本上,有熟悉一種語言就能接上,概念都是互通的,僅是語法不同。大多數有物件導向的語言都蠻能互換的(python,c#,c++,javascript es6,php等)

     

     

    章節目錄

    • 1-1
      【觀念講解】二元樹 vs 二元堆積樹
    • 1-2
      【觀念講解】二元堆積樹 建立與使用
    • 1-3
      〖實作演練〗二元堆積樹 建立與使用
    • 1-4
      〖實作演練〗二元堆積樹 建立與使用 完整程式碼
    • 1-5
      【觀念講解】二元堆積樹 vs Heap Sort
    • 1-6
      〖實作演練〗二元堆積樹 vs Heap Sort
    • 1-7
      〖實作演練〗二元堆積樹 vs Heap Sort 完整程式碼

    試閱影片

    常見問答

    如果您購買的是募資課程,請在課程的【簡介】中查看開課時間,募資課程將於開課時間所述日期開放同學上課。

     

    若您購買的是一般課程(開放上課課程),則在購買完成後可以立即開始觀看。

     

    所有線上課程皆不受時間限制,享無限次永久觀看!

    猜你喜歡

    購買前問答

    | 尚無內容

    銷售方案