Red-Black-Tree!! 얘는 일종의 자기 균형 이진탐색 트리이다. 이진탐색트리란 자신의 왼쪽 서브 트리에는 현재 노드보다 작은 것, 오른쪽 서브 트리에는 큰 것만을 가질 수 있다. 이 덕분에 이진탐색트리에서는 조회를 할 때에 O(log n)의 시간 복잡도를 갖는다. 그런데 만약 요런 식으로 조회하면 O(n)의 시간 복잡도를 갖는다. Red-Black-Tree 알고리즘은 이런 문제를 해결하기 위해 도입되었다. 트리의 속성 모든 노드는 Red 혹은 Black이다. root node는 Black!!! 모든 nil노드는 Black!!! nil노드? go언어에서 null을 nil로 써넣는데 존재하지 않음을 의미하는 노드이다. 자녀가 없을 때에 자녀를 nil노드로 표기 이 nil노드는 값이 있는 노드와 동등..