本系列將會介紹基本與常見的演算法與資料結構,並使用 JavaScript 搭配練習一步步實作。
因筆者也是轉行至軟體工程師的行業,在 CS 相關基礎知識比較薄弱因此工作之後的進修特別著重補強這些知識。
本系列以筆者角度用通俗易懂方式講解,希望能讓讀者更容易理解,也藉由撰寫文章加強自身對於這些知識的理解與練習文筆。
最後希望讀者都能夠學以致用,遇到題目都能輕鬆開墮!
Bucket Sort 和之前的 Radix Sort 有點類似,建立幾個桶子並將資料丟進去排序。而 Bucket Sort 是取區間,例如 1 號桶子裝 0...
一種樹狀資料結構,含有根節點與子節點,每個節點彼此是親子的關聯。 Root: 根節點,樹狀資料結構的第一個的節點,以上圖來說就是 15。 Child: 子節...
由於樹狀結構並不像 Lined List 或陣列那樣是線狀的,故需要遍歷整個樹狀結構是很複雜的,而且有多種方式。 大致上分為以下兩種: Breadth-fir...
Tree Sort 簡而言之就是使用 Tree 結構來排序資料,建議先看資料結構篇章中的 Binary Search Tree 和 Tree Traversal...
Binary Heap 和 Binary Search Tree 很類似,但規則上有些不同。 有兩種 Binary Heap : Max Binary Hea...
Priority Queue 的每個節點都含有優先度 (Priority),而套用至 Queue 的規則中則是優先度高的會先被移除。 舉日常開發的任務優先度來說...
Heap Sort 使用 Binary Heap 處理資料排序,也可視為 Selection Sort 的改良版。 兩者一樣都是將資料分成兩區,一區為排序好的,...
From Medium Hash Table 是用來儲存鍵值對的資料 (key-value pairs)。 而 Hash Table 在找特定資料與新增刪除...
簡言之, Graph 就是很多個節點與節點之間的連線所組成的,前幾天提到的 Three 也算是 Graph 的一種 , Graph 主要有以下幾點特色: Gr...
當要取得、更新、檢查 Graph 裡所有的節點時就會需要用到 Traversal 方法,常見的使用場景為點對點的網際網路、網站爬蟲、導航、迷宮問題或遊戲類的 A...