inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

else if 질문 있습니다.

해결된 질문

392

김상민

작성한 질문수 17

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

알고리즘 algorithm

답변 2

1

김상민

네!! 답변 감사합니다.

0

감자

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

링크드 리스트 중간 삽입삭제 시간복잡도 질문

0

10

1

재귀함수 종료조건

0

12

1

백준 서비스 종료로 인한 강의 자료 업데이트 요청드립니다.

0

28

1

백준 사이트 준비중이라 문제를 볼 수 가 없어요

0

31

1

힙 삽입의 케이스 관련해서 질문이 있습니다.

1

88

2

반복문의 기저조건(while)/경계조건(for)을 빠르게 설정하는 방법이 있을까요?

1

76

1

이진탐색트리/AVL트리/RB트리를 바라보는 관점

1

103

2

Red-Black 트리 - 개념 (삽입) 4분 48초에 21의 높이의 값이 설명과 그림이 다른거 같습니다.

0

62

2

최대 유량 문제(포드 풀커슨 알고리즘)

0

150

2

Trie 자료구조 관련 질문

0

107

2

RedBlack 구현 중 NilNode에 대해서

1

91

2

터미널노드는 루트노드?

0

147

2

트리의 조건이 헷갈립니다.

0

79

1

AVL 트리 구현 중 getUnBalanceNode 함수

0

169

2

AVL 트리에서 회전 실행 함수 구현 시 질문

0

159

2

레드블랙트리 개념 4:20초에 13번 노드는 Nill 노드와 연결되면 안되는 것 아닌가요?

0

199

1

data 매개변수 오류

1

260

1

AVL 트리 회전 질문

1

464

1

레드플랙트리의높이

1

308

1

Red-Black 트리 제거 2번째

1

338

2

Red-Black 트리 - 개념(제거) 질문드립니다.

1

520

1

이진 탐색 트리 - 제거 구현 질문드립니다.

1

447

1

BFS 질문 있습니다.

1

263

1

이진 탐색 트리 - 제거 구현 질문 있습니다!

3

405

1