쉽게 배우는 알고리즘2 [알고리즘] 이진 검색 트리 이진 검색 트리에는 3가지 특징이 있다. 이진 검색 트리의 각 노드는 키 값(=노드 값)을 하나씩 갖는다. 각 노드의 키 값은 모두 달라야 한다. 최상위 레벨에 루트 노드가 있고, 각 노드는 최대 두 개의 자식 노드를 갖는다. 임의의 노드의 키 값은 자신의 왼쪽에 있는 모든 노드의 키 값보다 크고, 오른쪽에 있는 모든 노드의 키 값보다 작다.(!트리의 조건은 아니지만 관리를 용이하게 하기 위함) 위와 같은 형태가 되는데 보다 싶이 좌측 서브 트리포함 모든 값들은 루트 노드보다 작다. 이진 검색 트리에서 검색 이렇게 하면 검색도 용이하다. Python코드로 짜보자면 우선 노드와 트리를 정의한다. class Node: def __init__(self, value): self.value = value self.. 2021. 11. 1. 0. 알고리즘 공부 시작 2021.09.23 - [알고리즘] - 0. 알고리즘 공부 시작 2021.09.24 - [알고리즘] - 1. 알고리즘(Algorithm)이란? 2021.09.26 - [알고리즘] - 2. 알고리즘 점근적 표기 및 시간 복잡도 2021.09.26 - [알고리즘] - 3. 점근적 표기법(o-표기법, ω-표기법) 2021.10.19 - [알고리즘] - 4. 정렬 - 1(선택정렬, 버블정렬, 삽입정렬 2021.10.20 - [알고리즘] - 5. 정렬 - 2(합병 정렬, 퀵 정렬) 대학교 수업으로 알고리즘을 공부하면서 이것을 정리하기 위해서 글을 쓰기 시작했습니다. 책은 기본적으로 한빛아카데미의 쉽게 배우는 알고리즘을 사용합니다. 2021. 9. 23. 이전 1 다음 반응형