목록완전이진트리 (2)
책 읽다가 코딩하다 죽을래
📚 힙 정의 힙은 데이터에서 최댓값과 최솟값을 찾기 위해 고안된 완전 이진 트리이다. 힙은 항상 큰 값이 상위 레벨에 있고 작은 값이 하위 레벨에 있도록 하는 자료구조이다. 즉 부모 노드의 값이 자식 노드의 값보다 항상 커야 한다. 그러면 가장 큰 값이 모든 자식보다 크기 때문에 가장 위로 간다. 바로 루트 노드로 말이다. 이렇게 아래로 갈수록 작고 위로 갈수록 커지는 힙은 Max Heap이라 하고 이와 반대인 경우는 Min Heap이라 한다. 그런데 힙은 항상 큰 값이 상위 레벨에 있고 작은 값이 하위 레벨에 있어야 하는 규칙이 있다. 🤔 그러면 힙에 새로운 노드를 삽입하거나 이미 존재하는 노드를 삭제할 때 규칙을 어기지 않게 하려면 어떻게 해야 할까? 지금부터 노드 삽입과 노드 삭제 과정을 훑어보자 ..
📚 트리의 정의 트리는 뿌리와 가지로 구성되어 거꾸로 세워놓은 나무처럼 보이는 계층형 비선형 자료 구조이다. 트리는 대표적인 사용 예시는 컴퓨터의 폴더 구조이다. 파일이 어느 경로에 있는지 그 경로에는 어떤 폴더들이 포함되는지 나타내야 하기 때문이다. 트리의 구조는 다음과 같다 🧬 트리의 구조 Node : 트리에서 데이터를 저장하는 기본 요소 Root Node : 트리 맨 위에 있는 노드 Level : 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node : 어떤 노드의 상위 레벨에 연결된 노드 Child Node : 어떤 노드의 하위 레벨에 연결된 노드 Leaf Node(Terminal Node) : Child Node가 하나도 없는 노드 S..