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 21

Day21-Rage Search (QuadTree, k-d Tree, Uniform Partitioning)

在此之前我們探討過如何達到add, get, contain, delete等操作的資料結構,這章節要來談談range search的操作: // Suppos...

2023-10-03 ‧ 由 kirin0127 分享
DAY 22

Day22-Topological Sort - Intro

Topological翻成中文是拓墣的意思,若不是數學系的好像翻譯後也還是不會懂。 直接來看範例還是最快吧: 符合上圖graph的topological so...

2023-10-04 ‧ 由 kirin0127 分享
DAY 23

Day23-Topological Sort - DAG shortest path

上一章節介紹了Topological Sort是什麼,這章節會介紹其實際應用。 我們來看看找出DAG shortest path可以怎麼找: 以上圖為例,看來...

2023-10-05 ‧ 由 kirin0127 分享
DAY 24

Day24-Selection Sort & Insertion Sort & Bubble Sort

這章節開始我們會針對sort來詳細介紹各種不同的演算法。這章節會從最簡單的開始,也就是一般人可以想得到的方法。 Bubble Sort 從index = 0開始...

2023-10-06 ‧ 由 kirin0127 分享
DAY 25

Day25-Heap Sort

這章節來介紹Heap Sort。 首先把array轉換成max-heap: 再來把max-heap最大的元素放到我們新建的output array: 拿掉後...

2023-10-07 ‧ 由 kirin0127 分享
DAY 26

Day26-Merge Sort

這章節要介紹讓我腦洞大開的一個sort方法,merge sort。 Merge Sort在CS61B很前面介紹Asymptotics的章節就會提到,然後後面的章...

2023-10-08 ‧ 由 kirin0127 分享
DAY 27

Day27-Quick Sort

這章節介紹Quick Sort,它是目前公認最快的sort方法,其核心概念使用了partition的想法。 Quick sort是在1960年一位Tony Ho...

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

Day28-Comparison Sort Algorithm Bounds

我們在此之前討論的各種sort,都可以說是comparison sorting,因為我們判斷元素要在前面或後面都是透過compare這個動作來決定。這章節要探討...

2023-10-10 ‧ 由 kirin0127 分享
DAY 29

Day29-Radix Sort

上一章節我們分析了comparison sort的極限在哪,這章節會來討論不使用comparison來進行sort有哪些方法。 首先老師介紹了一個奇妙的想法,叫...

2023-10-11 ‧ 由 kirin0127 分享
DAY 30

Day30-Compression

這章節會討論壓縮是怎麼一回事。 Prefix Code 基本上壓縮就是把原本比如8bit的字元,透過某種算法壓縮成小於8bit的字元,並套用到所有的字元,並且可...

2023-10-12 ‧ 由 kirin0127 分享