CS/자료구조 2

Array - 배열에 대하여

아마도 모든 개발자들이 처음으로 접하고, 사용하는 자료구조인 배열. 이런 배열에 대해서 활용 방법보다는 배열을 사용하는 것으로 얻는 장점과 배열의 특징들에 대해서 정리해보고자 한다. Array, 배열의 정의는? : 배열은 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료구조를 나타낸다 https://ko.wikipedia.org/wiki/%EB%B0%B0%EC%97%B4 배열 - 위키백과, 우리 모두의 백과사전 컴퓨터 과학에서 배열(영어: array, 配列·排列, 문화어: 배렬)은 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타낸다. 일반적으로 배열에는 같은 종류의 데이터들이 순차 ko.wikipedia.org 어려운 말은 아니지만 이해를 위해서 예시를 들면, 프로그램을 하다..

CS/자료구조 2022.05.16

B-tree 자료구조

전공책을 읽던 도중 데이터 베이스에서는 지금까지 자주 사용하던 2진 트리가 아닌, 다원 탐색 트리를 사용한다는 사실을 알았고, 그중 B-tree를 많이 사용한다고 쓰여있었다. 지금까지 자료구조, 알고리즘 과목을 수강하면서 항상 이야기만 듣고 시간 문제상 진도를 나가지 못해 아쉬웠던 B-tree, RB-tree 등 더 심화된 자료구조들에 대해서 마침 궁금하던 차, 이번 기회에 B-tree에 대해서 정리하고 지나가기로 했다. 왜 2진 트리를 사용하지 않고 다원 탐색 트리를 채택했을까? 2진 트리를 이용하면 n개의 원소에서 특정 값을 검색하는데 O(logn)의 시간이 걸린다는 건 대단한 일이다. 하지만, 현대 컴퓨터에서는 산술, 논리 연산보다 메모리 접근 연산이 훨씬 많은 시간을 소모한다. 또, 2진 트리의 ..

CS/자료구조 2022.01.16