Heap是一種資料結構,使用一維陣列來儲存資料,可以把它想成Tree的概念。Heap分成兩種,最小堆積(Min-Heap)、最大堆積(Max-Heap)。...
字典是還蠻常見的資料結構,它的{Key:Value}結構讓我們可以很快地對資料做處理。 程式碼如下: class Dictionary{ constru...
Hash Table是蠻高效的資料結構,時間複雜度是O(1),資料經由hash function產出一個固定值作為資料索引值。但有時候hash functio...
請看下圖的動態呈現。 簡而言之,深度優先搜尋法會先從root節點開始,先由左側的子節點往下找有無子節點,如果有就繼續往下找,如果沒有就回到上一層節點,找尋有無...
簡而言之,就是遍歷樹的每一層節點,遍歷一層後再往下一層遍歷節點。 程式碼如下: class Tree{ constructor(value){...
ES6中的Set。類似陣列,不過其成員值都是唯一值。 Set是建構函式,透過new的方式產生一個Set的instance。 Set 呼叫 add、has、de...
WeakSet跟Setㄧ樣都是不重複值,可以接受陣列或類似陣列的iterable物件。 WeakSet不能遍歷,其成員是弱引用,隨時可能消失,因為垃圾回收機制...
Map類似物件但提供了一個更有彈性的資料結構,物件的key欄位是字符串格式當key,而Map則是可以用各種類型甚至物件當key欄位。 Map有以下方法與屬性:...
只接受物件作為key欄位,不接受其他类型的值。 WeakMap不能遍歷,其成員是弱引用,隨時可能消失,因為垃圾回收機制可能會因為在WeakSet裡頭的物件沒被...