반응형
자료구조란?
데이터를 저장하고 관리하기 위한 구조이다.
예를 들어, 도서관에서 로미오와 줄리엣이라는 책을 찾으려고 할 때?
[문학 도서 구역] -> [영문 고전 구역] -> [제목순 혹은 연도순로 꽂혀있는 책들]에서 로미오와 줄리엣을 찾는다.
이렇게 책을 찾을 수 있었던 것도 도서관 책들이 꽂혀있는 위치가 일정 구조를 가지고 있기 때문이다. 이렇듯 데이터를 정리하는 방법을 자료구조라고 한다.
더 정확히 정의하자면 자료구조는 데이터의 효율적인 접근 및 조작을 가능하게 해주는 데이터의 저장 및 관리 방식 이다. 도서관에서 로미오와 줄리엣을 찾을 수 있었듯이, 특정 데이터를 쉽게 찾고 활용하기 위해서는 특정 구조를 만들어야 한다.
자료구조를 사용하는 이유
set나 list를 예로 들어보자. 1~100000까지 담긴 두 자료형에서 100000을 찾는 명령문을 실행했다.
그 탐색 시간이 set가 더 빨랐다. (직접 해보자)
이렇듯 어떤 작업에는 그에 맞는 더 효율적인 구조가 존재한다. (물론 모든 상황에서 set가 더 효율적인 것은 아니다.)
각 상황에 맞는 자료구조가 존재하는 것이다. 그래서 각 상황에 맞는 자료구조를 사용해야만 한다.
반응형
'💻 CS > 자료구조 & 알고리즘' 카테고리의 다른 글
[자료구조] 추상자료형 (ft. 큐, 스택, 딕셔너리, 세트) (0) | 2020.01.11 |
---|---|
[자료구조] 해시 테이블 (0) | 2020.01.09 |
[자료구조] 링크드 리스트 (0) | 2020.01.07 |
[자료구조] 배열 (0) | 2020.01.05 |
[자료구조] 컴퓨터가 데이터를 저장하는 방법 (0) | 2020.01.05 |