인프런 커뮤니티 질문&답변

김상민님의 프로필 이미지
김상민

작성한 질문수

그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)

우선순위 큐와 힙 - 구현1(힙 삽입)

else if 질문 있습니다.

해결된 질문

작성

·

246

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를 쓰신 이유가 궁금합니다..!!

답변 2

1

김상민님의 프로필 이미지
김상민
질문자

네!! 답변 감사합니다.

0

감자님의 프로필 이미지
감자
지식공유자

가독성을 위해서 나눠서 작성했습니다!
로직만 같다면 편하신 걸 선택하시면 될 것 같습니다 ㅎㅎ

김상민님의 프로필 이미지
김상민

작성한 질문수

질문하기