이진 트리는 각 정점이 최대 2개의 자식을 가지는 트리를 의미한다.
마지막 레벨을 제외하고 모든 트리가 채워져있다.
이진 트리의 구현방법
배열 혹은 요소에 링크가 2개 존재하는 연결 리스트로 구현할 수 있다.
js 코드
class Tree{
constructor(node){
this.root=node;
}
display(){
const queue = new Queue();
queue.enqueue(this.root);
while (queue.size) {
const currentNode = queue.dequeue();
console.log(currentNode.value);
if (currentNode.left)queue.enqueue(currentNode.left);
if (currentNode.right) queue.enqueue(currentNode.right);
}
}
}
const tree = new Tree(new Node(1));
tree.root.left= new Node(2);
tree.root.right= new Node(3);
tree.root.left.right= new Node(5);
tree.root.left.left= new Node(4);
tree.root.right.left= new Node(6);
tree.root.right.right= new Node(7);
결과 시각화: