本次系列文為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/
在此之前我們探討過如何達到add, get, contain, delete等操作的資料結構,這章節要來談談range search的操作: // Suppos...
Topological翻成中文是拓墣的意思,若不是數學系的好像翻譯後也還是不會懂。 直接來看範例還是最快吧: 符合上圖graph的topological so...
上一章節介紹了Topological Sort是什麼,這章節會介紹其實際應用。 我們來看看找出DAG shortest path可以怎麼找: 以上圖為例,看來...
這章節開始我們會針對sort來詳細介紹各種不同的演算法。這章節會從最簡單的開始,也就是一般人可以想得到的方法。 Bubble Sort 從index = 0開始...
這章節來介紹Heap Sort。 首先把array轉換成max-heap: 再來把max-heap最大的元素放到我們新建的output array: 拿掉後...
這章節要介紹讓我腦洞大開的一個sort方法,merge sort。 Merge Sort在CS61B很前面介紹Asymptotics的章節就會提到,然後後面的章...
這章節介紹Quick Sort,它是目前公認最快的sort方法,其核心概念使用了partition的想法。 Quick sort是在1960年一位Tony Ho...
我們在此之前討論的各種sort,都可以說是comparison sorting,因為我們判斷元素要在前面或後面都是透過compare這個動作來決定。這章節要探討...
上一章節我們分析了comparison sort的極限在哪,這章節會來討論不使用comparison來進行sort有哪些方法。 首先老師介紹了一個奇妙的想法,叫...
這章節會討論壓縮是怎麼一回事。 Prefix Code 基本上壓縮就是把原本比如8bit的字元,透過某種算法壓縮成小於8bit的字元,並套用到所有的字元,並且可...