문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 자료구조 (문단 편집) == 정의 == {{{+1 [[資]][[料]][[構]][[造]] / data structure}}} [[컴퓨터과학]]에서 데이터를 구조적으로 표현하는 방식과 이를 구현하는 데 필요한 [[알고리즘]]에 대해 논하는 기초이론, 혹은 과목. [[컴퓨터과학]]에서 [[알고리즘]]과 함께 가장 중요한 기초이론이다. 이것을 공부하지 않고 상위 과목을 공부하는 건 사실상 불가능하다. [[영어]]로 치면 알파벳을 모르는 상태로 독해를 공부하겠다는 것과 마찬가지로 볼 만큼 프로그래밍에서 중요한 부분이다. 컴퓨터의 메모리는 [[1차원]] 구조이기 때문에[* 메모리 하드웨어는 2차원 또는 3차원 구조이지만 CPU에서 논리적으로 바라보는 메모리 공간은 1차원이다.] 현실 세계의 '''다차원''' 데이터를 다루기 위해서는 이것을 1차원인 선 형태로 바꾸는 것이 필요하다. 대학교 학부과정에서 배우는 기초 알고리즘들은 바로 이 방법을 학습한다. [[2차원]] 배열, 이진 트리, 그래프 등의 자료구조가 2차원 데이터를 1차원으로 욱여넣는 방법을 배우는 것이다. 더 나아가 3차원 데이터를 다루고, 더 지나면 [[3차원]] 데이터 이상의 다차원 데이터를 처리하는 자료구조를 만날 수 있다. 물론 B트리나 R트리의 경우처럼 같은 2차원 데이터도 어떻게 조직화하느냐에 따라 자료구조가 달라진다. [[리스트(자료구조)|리스트]], [[스택(자료구조)|스택]], [[큐(자료구조)|큐]], 환형 큐, [[힙 트리|힙]], [[트리(그래프)|트리]], [[그래프(이산수학)|그래프]] 7가지 개념을 숙지하면 자료구조 대부분 이해한 것이라 보면 된다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기