Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: [DataStructure] 자료 구조 정리 #21

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

chaeyeon0130
Copy link
Contributor

개요

  • 파이썬 코드를 바탕으로 주요 자료 구조의 특징을 요약 정리하였습니다.

체크리스트

  • PR 제목을 Commit Convention에 맞게 작성
  • Label 추가
  • 리뷰어 팀 등록했나요?
  • Assignee 등록했나요?

AVL 트리(Adelson-Velsky and Landis tree)는 앞서 설명한 최악의 경우 선형적인 트리가 되는 것을 방지하고 스스로 균형을 잡는 이진 탐색 트리이다. 두 자식 서브트리의 높이는 항상 최대 1만큼 차이 난다는 특징이 있다. 이진 탐색 트리는 선형적인 트리 형태를 가질 때 최악의 경우 O(n)의 시간 복잡도를 가진다. “이러한 최악의 경우를 배제하고 항상 균형 잡힌 트리로 만들자.”라는 개념을 가진 트리가 바로 AVL 트리이다. 탐색, 삽입 삭제 모두 시간 복잡도가 O(logn)이며 삽입, 삭제를 할 때마다 균형이 안 맞는 것을 맞추기 위해 트리 일부를 왼쪽 혹은 오른쪽으로 회전시키며 균형을 잡는다.

## 3. 레드 블랙 트리
레드 블랙 트리는 균형 이진 탐색 트리로 탐색, 삽입, 삭제 모두 시간 복잡도가 O(logn)이다. 각 노드는 빨간색 또는 검은색의 색상을 나타내는 추가 비트를 저장하며, 삽입 및 삭제 중에 트리가 균형을
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

처음보는 자료구조인데 굉장히 중요하게 사용되고 있군요!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants