'자료 구조'에 해당되는 글 1건

  먼저, 자료 구조란 컴퓨터 프로그램을 효율적으로 구현하기 위해 연구되었기 때문에 자료구조를 이야기하기에 앞서 컴퓨터 프로그램에 대해 알아야한다.

컴퓨터 프로그램이란, 컴퓨터에 의해 실행되는 명령어들의 집합이라고 할 수 있다. 그리고 이 명령들을 수행하기 위해서는 내부적으로 여러 Data를 저장하고 처리하는 과정이 필요하다.

  즉, Data(자료) + Algorithm(명령) 으로 이루어진다고 생각할 수 있다.

  그 중 자료구조는 Data를 효율적으로 저장하는 방식을 뜻한다. 효율적이란 뜻은 컴퓨터 프로그램이 1)실행될때 쓰이는 메모리를 절약 2) 프로그램 수행시간의 최소화를 뜻한다. (Space Complexity + Time Complexity)

실제 프로그램의 목적과 기능을 생각해 자료구조를 이용하거나 설계해야한다는 것이다.

프로그램에서 저장하는 자료를 형태에 따라 분류하면,

1) 단순 구조

- Primitive Data로 프로그래밍 언어에서 제공하는 기본적인 데이터 타입이다.

 

2) 선형 구조

- List, Stack, Queue, Deque 등으로 대표되는 저장된 자료들간의 관계가 [0] - [1] - [2] - [3] ---- 과 같이 선형적으로 연결된 자료구조를 말한다. 각각의 자료들이 앞과 뒤의 자료들과 1:1 관계를 가지고 제일 처음과 뒤는 NULL과 1:1 자료를 가진다고 할 수 있다.

 

3) 비선형 구조 

- 선형 구조와는 다르게 앞뒤 관계가 1:1 이 아닌 계층 구조(Hierarchical) 이거나 망 구조 (Network) 를 가지는 구조로서 Tree, Graph와 같은 구조가 대표적이다. 

 

4) 파일 구조

- 하드 디스크 등과 같은 보조 기억 장치에 저장되는 파일을 뜻한다.

'Data Structure' 카테고리의 다른 글

Stack  (0) 2019.07.01
List/ArrayList/LinkedList  (0) 2019.07.01
구조체  (0) 2019.06.14
추상자료형  (0) 2019.06.12
블로그 이미지

Denken_Y

coding 블로그

,