이진탐색트리(2)
-
[자료구조] 이진탐색트리 구현 - 최솟값, 최댓값 찾기 / 특정 값 찾기
최솟값/최댓값 찾기 (min(), max()) 이진탐색트리에서 최솟값은 맨 왼쪽 노드값이고, 최댓값은 맨 오른쪽 노드값이다. 그러므로 최솟값을 구하는 메소드 min(), 최댓값을 구하는 메소드 max()는 다음과 같이 구현할 수 있다. //최솟값 찾기 min(){ return this.minNode(this.root); } minNode(node){ if(node){ while(node && node.left !== null){ node = node.left; } return node.key; } return null; } //최댓값 찾기 max(){ return this.maxNode(this.root); } maxNode(node){ if(node){ while(node && node.right !=..
2021.03.17 -
[자료구조] 이진탐색트리 구현 - 중위순회, 전위순회, 후위순회 메소드
중위순회(in-order traversal) : (왼쪽 - 루트 - 오른쪽) 오름차순(작은 값에서 큰 값 순)으로 방문된다. 트리 정렬 시 사용되는 방법임 전위순회(pre-order traversal) : (루트 - 왼쪽 - 오른쪽) 자식 노드보다 노드 자신을 먼저 방문한다. 구조화된 문서를 출력할 때 많이 이용하는 방법 후위순회(post-order traversal) : (왼쪽 - 오른쪽 - 루트) 자식 노드를 노드 자신보다 먼저 방문 디렉토리와 서브 디렉토리의 파일 용량을 계산할 때 쓰는 방법 //in-order traversal 중위순회 (왼쪽 - 루트 - 오른쪽) inOrderTraverse(callback){ this.inOrderTraverseNode(this.root, callback); }..
2021.03.16