보기만 해도 행복해지는 AVL 트리
트리를 알던 모르던 저렇게 줄줄이 비엔나처럼 코드가 많이 나오면 기분이 좋아지죠
참고로 트리는 inorder로 돌려서 오름차순으로 출력이 되어야 하는데
사진을 보시면 아시겠지만 33과 49 사이에 403이 들어가있는 것을 볼 수가 있죠
저는 처음에 트리 회전을 잘못 시켜서 이런 결과가 나오지 않았나 생각하고 계속 AVL 코드만 고치고 있었는데
수미 누나가 균형 검사랑 회전를 주석처리하고 코드를 돌려보라고 조언을 해주었어요
설마설마 하는 마음에?
이미 제출 기한이 지나버린 BST의 삽입 코드를 돌려보니...
네, 그렇습니다 사실 BST도 잘못 작성한 상태로 제출을 했던 것이었네요
트리의 테스트 케이스도 직접 만들어가면서 확인을 했는데 어째서 그동안 저 문제점을 발견하지 못한 것일까요?
그 이전에 제 코드의 문제점은 무엇이었을까요?
보고 계신 독자님들께서는 한 눈에 찾으셨나요? 그렇다면 부럽네요 엉엉...
긴말 않고 문제점을 이야기하자면 텍스트 파일로부터 추출한 key의 타입이 int가 아니라 str이기 때문에 발생한 문제였습니다.
str 타입끼리도 비교 연산이 가능하다는 사실은 이전에도 알고 있었지만... 찾기 너무 힘들었던 실수였던 것 같습니다.
간단하게 "41"과 "403"의 경우 "41" > "403"이 True의 값을 반환합니다.
이해하기 쉬운 방법으로는 앞자리부터 하나하나 비교한다고 생각하면 됩니다.
첫째 자리가 4로 같으니 넘어가고...
둘째 자리는 1과 0이므로 1을 가진 41이 더 크게 ~ 인식을 한다! 기억해주시면 되겠습니다.
익명 1님 보고 계신가요...? 보고 계신다면 커피 한 잔 정도만 부탁드리겠습니다 ^^7
'모각코' 카테고리의 다른 글
[모각코 1114] 여러분들의 deprecated된 아이들, 제가 찾아드리겟읍니다. (0) | 2022.11.15 |
---|---|
[모각코 1031] 안드로이드 프로젝트 README.md 작성하기 (0) | 2022.10.31 |
[모각코 1017] Python 데이터 시각화의 첫 걸음 - matplotlib (0) | 2022.10.26 |
[모각코 1012] 안드로이드 기초는 못참지 (1) - 프로젝트의 구성 (1) | 2022.10.12 |
[모각코 0926] 코드 중복은 못참지 - style편 (2) | 2022.09.27 |