Heap
Heap(ヒップ) ヒップは、優先順位キューのために作られた資料構造だ。 まず、優先順位キューについて簡単に見てみよう。 優先順位キュー:優先順位の概念をキューに取り入れた資料構造 データが優先順位を持っている。 優先順位の高いデータが先に出る スタックはLIFO、キューはFIFO 優先順位キューはArray、Linked List、Heapで具現(Heapで具現が最も効率的!) ヒップ...
Binary Search Tree
BST (Binary Search Tree) 効率的な探索のためには、どのように探せばいいかばかり悩んではならない。 それよりは効率的な探索のための保存方法が何なのかを悩まなければならない。 バイナリ探索ツリーはバイナリの一種である. ただし、バイナリ探索ツリーにはデータを保存する規則がある。 そして、その規則は特定のデータの位置を探すのに使うことができる。 ルール1...
Binary Tree
Tree ツリーはスタックやキューのような線形構造ではなく、非線形資料構造である。 ツリーは階層的関係(Hierarchical Relationship)を表現する資料構造である。 このツリーという資料構造は表現に集中する。 何かを保存して取り出すべきだという考え方から脱し、ツリーという資料構造を眺めてみよう。 ツリーを構成している構成要素(用語) Node (ノード):ツリーを構成しているそれぞれの要素を意味する。 Edge...
Array vs Linked List
Array 最も基本的な資料構造であるArray資料構造は、論理的保存順序と物理的保存順序が一致する。 したがって、インデックス(index)で当該元素(element)にアクセスすることができる。 そのため、探したい元素のインデックス値を知っていれば、Big-O(1)に当該元素にアクセスすることができる。 つまり、random access が可能であるという長所があるのだ。 しかし、削除または挿入の過程では、該当元素に接近して作業を完了した後(O(1))、もう1つの作業を追加しなければならないため、さらに時間がかかる。 もし配列の元素のいずれかの元素を削除したといったとき、配列の連続的な特徴が破られることになる。 つまり、空きができるのだ。...
VDOM
VDOM(Virutal DOM)에 대해서 DOM (Document Object Model) 어디에서? react js나...