Tree
What's Tree?
図形の複数の構造における方向図の構造.
1本の根から、木の枝が周囲に伸びる形が木に似ていて、木状構造と呼ばれています.
特長
ツリー実装
class Tree {
constructor(value) {
// constructor로 만든 객체는 트리의 Node(데이터)
this.value = value;
this.children = []; // 자식 노드를 담을 곳
// {value: 인자로 들어온 값, children: []}
}
// 트리의 삽입 메서드
// tree의 자식 노드를 생성 한 후에, 노드의 children에 push
insertNode(value) {
// 값이 어떤 이름으로 만들어지고 어느 위치에 붙어야 할까?
const childNode = new Tree(value); // 부모와 같은 구조니까 인스턴스를 할당!
this.children.push(childNode); // childNode를 만들어 children에 붙이기.
}
// 트리 안에 해당 값이 존재하는지 탐색하는 메서드
contains(value) {
// 현재 노드에서 탐색
if (this.value === value) {
return true;
}
// 자식노드에서 탐색
for (let el of this.children) {
if (el.contains(value)) {
return true;
}
}
// 전부 탐색했음에도 찾지 못했다면 false 반환.
return false;
}
}
利用木
典型的な例はコンピュータのディレクトリ構造です!
Reference
この問題について(Tree), 我々は、より多くの情報をここで見つけました https://velog.io/@heartane/Treeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol