inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

else if 질문 있습니다.

해결된 질문

373

김상민

작성한 질문수 16

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

감자

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

연결리스트 삽입삭제 O(1) 아닌가요?

0

9

2

코딩 테스트 All-in-One(Java)' 강의 노션 교재 권한문의

0

16

1

태어난김에 세계일주 시간 초과

0

16

1

커리큘럼 중 정렬 관련 질문

0

15

1

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

1

62

2

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

1

58

1

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

1

71

2

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

0

40

2

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

0

110

2

Trie 자료구조 관련 질문

0

84

2

RedBlack 구현 중 NilNode에 대해서

1

73

2

터미널노드는 루트노드?

0

124

2

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

0

63

1

AVL 트리 구현 중 getUnBalanceNode 함수

0

143

2

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

0

134

2

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

0

180

1

data 매개변수 오류

1

236

1

AVL 트리 회전 질문

1

441

1

레드플랙트리의높이

1

286

1

Red-Black 트리 제거 2번째

1

311

2

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

1

495

1

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

1

417

1

BFS 질문 있습니다.

1

249

1

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

3

392

1