자료구조, 알고리즘

DS01 - 자료구조의 정의와 분류

0verc10ck 2018. 4. 28. 19:50
반응형

자료구조란?              

 자료구조(Data struct)란 컴퓨터에서 사용할 자료를 더 효율적으로 저장하고 처리할 수 있도록 자료의 특성과 

사용용도에 따라 분류하고 정리하여 구조화 한 것을 뜻한다.


 자료구조를 통해 자료를 효율적으로 정리한다면 알고리즘을 구현하는데 큰 도움이 되고 구현하는 알고리즘의  

시간복잡도(Time Complexity)와 공간복잡도(Space Complexity)를 최소화하는데 도움이 된다.


 각각의 알고리즘이나 프로그램에는 효율적으로 적용되는 자료의 형태가 있다. 프로그램을 작성하기 전에 어떠한 

자료의 형태를 먼저 정하는 것은 좋은 프로그램을 구현하는데 많은 도움이 된다. 


 효율적인 자료의 효과는 프로그램이나 프로젝트의 규모가 커질수록 크게 나타나기 때문에 이러한 자료들의 

특성을  잘 이해하고 적절히 사용할 줄 아는 능력은 프로그래머에게 꼭 필요한 능력중에 하나이다.



자료구조의 분류         

 자료구조는 크게 다음 4개의 종류로 분류할 수 있다.

1. 단순구조(Simple Structure)

2. 선형구조(Linear Structure)

3. 비선형구조(Nonlinear Structure)

4. 파일구조(File Structure)



 단순구조(Simple Structure)는 자료값을 사용하기 위한 기본 형태로서 C/C++, Python, Java와 같은 

프로그래밍 언어에서 제공하는 정수(Integer), 실수(Real Number), 문자(Character), 문자열(String)등의 

자료형(Data Type)을 뜻한다.


 선형구조(Linear Structure) 자료들간의 관계가 1:1인 자료로서 순차리스트(Sequential List), 

연결리스트(Linked List), 스택(Stack), 큐(Queue), 데크(Deque)등이 있다.


 비선형구조(Nonlinear Structure)는 계층구조(Hierarchy)나 망구조(Network Structure)를 갖는 

자료구조로서 트리(Tree)와 그래프(Graph)가 있다.


 파일구조(File Structure)는 서로 관련있는 필드(Field)로 구성된 레코드(Record)집합인 파일에 대한 

자료구조로 보조 기억장치에 데이터가 실제로 기록되는 형태이다. 

파일의 구성 방식에 따라 순차파일(Sequential File), 색인파일(Index File), 직접파일(Direct File)등이 있다.

반응형

'자료구조, 알고리즘' 카테고리의 다른 글

DS04 - 포인터  (0) 2018.05.13
DS03 - 배열(Array)  (0) 2018.05.12
AL02 - 알고리즘의 성능 분석  (0) 2018.05.07
AL01 - 알고리즘의 이해  (0) 2018.05.07
DS02 - 다양한 자료의 표현  (0) 2018.05.07