[用JS來寫演算法和了解資料結構] Day9 Data Structures - Queue
Read more[用JS來寫演算法和了解資料結構] Day7 Data Structures - Linked-list 鏈結串列
鏈結串列是一種常見的基礎資料結構,是一種線性序列,但是並不會按線性的順序儲存資料,而是在每一個節點裡存到下一個節點的指標。
生活例子類似火車,節點Node,像是車廂
由於不必須按順序儲存,鏈結串列在插入的時候可以達到O(1)的複雜度,但是尋找一個節點或者存取特定編號的節點則需要O(n)的時間
[用JS來寫演算法和了解資料結構] Data Structures - Hash Table - Day6 Map
The Map object holds key-value pairs and remembers the original insertion order of the keys.
elements in an array do not repeat -> use Set
elements in an object do not repeat -> use Map
both have size, has(), and keys().
與Object有點類似,但Map裡面的key是唯一的,重複set會覆蓋舊的value
Map的key除了原始型別外,可以是任何值object或function
[用JS來寫演算法和了解資料結構] Data Structures - Day5 Hash Table - 集合 Set
in javascript object
could be represented Hash Tables.
Hash Collision -> 是指不同的輸入經過 Hash 函數計算後,得到了相同的輸出值。相同hash編號內的資料,會透過Linked List的方式串接在一起。
The Set object lets you store unique values of any type, whether primitive values or object references.
Set
Map
both have size, has(), and keys().
[用JS來寫演算法和了解資料結構] Day3 Data Structures - Array 陣列 - 簡易搜索、二分搜索、leetcode #1064
陣列應該是資料結構中對於寫javascript的人來說最友好的,js的陣列可以放入不同型別的資料(像是C/Java這樣的語言,陣列的大小和資料型別要先定義),加上js有許多陣列方法,雖然蠻多是O(n^2)以上,但相對的寫法算很簡潔…
[用JS來寫演算法和了解資料結構] Day1 演算法的好壞評量標準 Big O
這個系列主要是想自我挑戰30天用學資料結構和演算法。因為不是資訊本科生,對資料結構的理論一知半解,藉由筆記更加深印象。會搭配一個我很喜歡的前端工程師Hannah分享的鐵人賽文章,來做練習。這邊因為是我個人練習學習,順序或時間可能會跟Hannah的文章不一樣。
JSDoc
https://jsdoc.app/
1 | /** Repeat <b>AAA</b> |
Update your browser to view this website correctly.&npsb;Update my browser now