a
/|\
b f c
//
d x
/\
e h
이 응용 프로그램에는 이러한 종류의 트리 구조가 있습니다. 이 트리 깊이를 먼저 가로 지르고 노드 깊이를 먼저 삭제하려고합니다. 노드에는 여러 개의 하위 항목이있을 수 있습니다.깊이 우선 탐색을 사용하여 노드를 삭제하는 방법
나는하려고했지만 e, h, d, b, x, f, c, a와 같이 깊이가없는 첫 번째 순서는 삭제하지 않습니다. 자식 노드와 부모 노드를 삭제해야합니다.
function deleteNode(node) {
let childs = node.getChildrens();
if(childs === undefined || childs === null) {
remove(node);
} else
for(int i = 0; i < childs.length; i++) {
// if childs then
deleteNode(childs[i])
}
}
remove(node);
}
이 삭제 변경 제안합니다은 예약 된 단어입니다. 함수 이름을 –
[tag : java] 또는 [tag : javascript]로 변경 하시겠습니까? 두 가지 중 하나를 선택하십시오. 또한 개별 노드를 삭제해야하는 이유는 무엇입니까? 왜 근음을 지우는 것이 좋을까요? – Cerbrus
어디서나 코드 스 니펫 일뿐입니다. 나는 이것을 여러 언어로 구현할 것이다. –