본문 바로가기

자료구조2

[야매 알고리즘] B-tree(2) 야매 알고리즘? 더보기 알고리즘의 정확한 정의나 의미를 다루지 않고 핵심적인 작동 원리와 코드 예제를 정리하기 위한 시리즈입니다. 전부 짚고 넘어가면 좋겠지만 그럴 지식도 없고, 공부하는 것보다 정리하는데 더 많은 에너지와 시간을 소모할 것 같아서, 기억을 되살리기 위한 아카이브 정도로만 사용할 수 있게 간단하게 정리할 예정입니다. B-tree의 특징 이전 글에서 B-tree의 특징과 장점, 그리고 B-tree를 왜 사용하는지에 대해 대략적으로 알아봤다. 하지만 대략적인 특징을 아는 것으로는 B-tree를 구현할 수 없다. 이 글에선 B-tree의 특징을 좀 더 디테일하게, 그리고 좀 더 전공자 느낌 나게 알아보겠다. B-tree의 특징은 다음과 같다. 자식 노드의 개수를 최대 M개 가질 수 있는 B-t.. 2021. 9. 18.
[야매 알고리즘] B-tree(1) 야매 알고리즘? 더보기 알고리즘의 정확한 정의나 의미를 다루지 않고 핵심적인 작동 원리와 코드 예제를 정리하기 위한 시리즈입니다. 전부 짚고 넘어가면 좋겠지만 그럴 지식도 없고, 공부하는 것보다 정리하는데 더 많은 에너지와 시간을 소모할 것 같아서, 기억을 되살리기 위한 아카이브 정도로만 사용할 수 있게 간단하게 정리할 예정입니다. 왜 B-tree인가? B-tree는 AVL tree나 RB tree와 같은 self-balancing tree의 일종이다. B-tree의 가장 큰 특징이자 장점은 disk input/output 연산을 최소화하는 데 있다. 실무에서 다루는 데이터의 크기는 절대로 메인 메모리에 한 번에 올릴 수 없을 정도로 크기 때문에, 데이터에 접근하기 위해서는 disk access는 필연적.. 2021. 9. 17.