iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
自我挑戰組

資料結構與演算法-CS61B學習筆記 系列

本次系列文為UC Berkeley的資料結構課程,課程代號CS61B,教授為Josh Hug:
https://sp19.datastructur.es/

根據Josh Hug教授的聲明,其教材為Creative Commons 4.0 BY-NC-SA license,意指其教材內容可供任何非營利用途來使用或二創,但其二創內容同樣也須為Creative Commons 4.0 BY-NC-SA license

Josh Hug教授License聲明原文:
https://joshhug.gitbooks.io/hug61b/content/

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11-Priority Queue (Heap)

這章節要來介紹一個新的ADT(Abstract Data Type)叫做Priority Queue。 大家應該都知道Queue的特性了,就是先進先出,像我們平...

2023-09-23 ‧ 由 kirin0127 分享
DAY 12

Day12-Tries (keys with prefix, auto complete)

這章節會介紹一個專門來處理String的資料結構,Tries。 假如我們需要儲存String,並且要讓add, get等功能有效率,可以用什麼資料結構來儲存呢?...

2023-09-24 ‧ 由 kirin0127 分享
DAY 13

Day13-Tree traversal

目前為止我們應用樹狀結構來當作我們的資料結構實現了很多有效率的ADT(Abstract Data Type)。這章節要來探討樹狀結構的另一種作用,travers...

2023-09-25 ‧ 由 kirin0127 分享
DAY 14

Day14-Graph traversal - Depth First Search

前面的章節談了很多tree的應用,接下來要談談另一種結構,Graph。 Graph有點類似Tree,但他比Tree的限制更少,如下面四張圖的範例: Tree有...

2023-09-26 ‧ 由 kirin0127 分享
DAY 15

Day15-Graph traversal - BreadthFirstSearch

對比Tree Traversal的level order traversal,Graph Traversal的level order traversal稱為Br...

2023-09-27 ‧ 由 kirin0127 分享
DAY 16

Day16-Graph Implementation

這章節要來點hardcore的,就是分析graph traversal的runtime。要做到這件事分3個步驟: 1.Graph API2.Graph impl...

2023-09-28 ‧ 由 kirin0127 分享
DAY 17

Day17-Graph traversal - s-t path (Dijkstra)

先前介紹的BFS可以幫我們找到最短路徑,但是那是在將各個edge都視為等長的情況下,假若要多考慮edge的長度,那BFS就不夠用了。這章節我們將介紹能夠考慮ed...

2023-09-29 ‧ 由 kirin0127 分享
DAY 18

Day18-Minimum spanning tree - Cut Property

接下來的章節會來討論minimum spanning tree的議題。 首先來了解一下什麼是spanning tree: 在一個graph G中,若有一個gr...

2023-09-30 ‧ 由 kirin0127 分享
DAY 19

Day19-Minimum spanning tree - Prim’s algorithm

那我們到底該如何找出graph中的MST(Minimum Spanning Tree)呢? 有個最經典的Prim’s algorithm可以用來找出MST,其概...

2023-10-01 ‧ 由 kirin0127 分享
DAY 20

Day20-Minimum spanning tree - Kruskal’s algorithm

除了Prim’s algorithm可以找出MST(Minimum Spanning Tree)外,還有一個常見的演算法叫做Kruskal’a algorith...

2023-10-02 ‧ 由 kirin0127 分享