해결된 질문
23.02.15 11:23 작성
·
233
1
힙 삽입에서
getInsertingParent(){
if(this.lastInsertedNode.getParent() == null){
return this.lastInsertedNode;
}else{
if(this.lastInsertedNode == this.lastInsertedNode.getParent().getLeftSubTree()){
return this.lastInsertedNode.getParent();
}else{
let current = this.lastInsertedNode;
let firstRightSibling = null;
while(current.getParent().getParent() != null){
current = current.getParent();
firstRightSibling = this.getRightSibling(current);
if(firstRightSibling != null){
break;
}
}
마지막으로 삽입된 노드가 루트노드일때를 if문으로 처리하시고 그다음 else 안에 서 if문으로 다시 처리하셨는데 이유가 있을까요? else if로 안쓰시고 else 안에서 if를 쓰신 이유가 궁금합니다..!!