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

lyy님의 프로필 이미지
lyy

작성한 질문수

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

AVL 트리 - 구현3(제거)

data 매개변수 오류

해결된 질문

작성

·

139

1

removeHelper 함수에서 data는 잘못 작성된 것이니 매개변수에서 제외해도 좋다고 하셨는데

제외 후 테스트하면 remove 부분의 removeHelper 함수에서 parentNode.getLeftSubTree is not a function 라는 오류가 뜨네요.

제가 잘못 작성한 부분이 있을까봐 binaryTree.mjs, avlTree.mjs 모두 첨부해주신 파일로 복붙해서 테스트해도 같은 오류가 떠요

어떤 부분이 잘못된걸까요?

답변 1

1

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

안녕하세요 lyy님!
removeHelper에서 두 번째 매개변수 data를 제거하셨는데 해당 오류가 발생하셨군요.

이렇게 오류가 발생한 이유는 호출하는 부분에서 data를 전달해서 그런 것 같습니다.

removeHelper에서 data를 제거하고 싶다면 remove() 함수 내 135번 라인의 removeHelper를 호출하는 부분에서 두 번째 매개변수 data도 같이 지워주셔야 합니다.

targetRootNode = this.removeHelper(targetRootNode, data, parentNode); // 변경 전
targetRootNode = this.removeHelper(targetRootNode, parentNode); // 변경 후

해당 부분으로 변경 후 다시 실행해보시겠어요? 🙂

다시 에러가 생긴다면 에러 메시지 알려주시면 같이 고민해보겠습니다!

lyy님의 프로필 이미지
lyy
질문자

잘 되네요. 감사합니다~

lyy님의 프로필 이미지
lyy

작성한 질문수

질문하기