Tree에 대한 이해 Javascript

cptkuk91·2022년 8월 21일
1

Algorithm

목록 보기
71/161
post-custom-banner

문제

Tree 구현을 위한 기본적인 코드가 작성되어 있습니다. Tree 자료구조의 특성을 이해하고 FILL_ME_IN 을 채워 테스트를 통과해주세요.

주의 사항

value는 어떠한 값도 들어갈 수 있지만 현재 구현하는 Tree는 숫자로 제한합니다.

사용 예시

const rootNode = new Tree(null);

for(let i = 0; i <= 4; i++) {
  if(rootNode.children[i]) {
    rootNode.children[i].insertNode(i);
  }
 rootNode.insertNode(i); 
}
rootNode; // {value: null, children: Array(5)}
rootNode.contains(5); // false
rootNode.contains(1); // true
...

풀이

class Tree {
	constructor(value){
    	this.value = value;
		this.children = [];
    }
    
    insertNode(value){
    	const childNode = new Tree(value);
        this.children.push(childNode);
    }
    
    contains(value){
    	if(this.value === value){
        	return true;
        }
        for(let i = 0; i < this.children.length; i++){
        	const childNode = this.children[i];
            if(childNode.contains(value)){
            	return true;
            }
        }
        return false;
    }
}

트리는 데이터 검색 및 정렬시 적합하고 계층형 데이터 저장시 사용됩니다.

하나의 시작 노드(root)로부터 시작되어 자식 노드(childNode)가 뻗어나가는 구조입니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)
post-custom-banner

0개의 댓글