💻Computer Science/📘자료구조 (Data Structure)

[자료구조] 1.자료구조란 무엇인가?

Written by Donghak Park

자료구조(Data Structure)

- 자료구조는 다양한 형태를 가질 수 있는 데이터의 구조를 정의한 것을 뜻한다.

- 물리적, 논리적으로 다양한 데이터를 표현할 수 있는 자료의 구조를 정의하고 사용함으로 알고리즘을 구현할 수 있다. 

 

자료구조는 다음과 같이 분류 할 수 있다. 

 

전체 자료구조

자료 구조는 크게 아래와 같이 분류할 수 있다.

 

1. 단순구조

- 컴퓨터, 언어에서 기본적으로 제공하는 데이터를 의미한다. 이러한 기본 자료형을 모아서 배열, 구조체, 클래스 등을 선언하여 사용자 정의 자료형을 만들 수도 있다.

- 배열 : 동일한 자료형의 모음

- 구조체 : 여러 자료형을 모음 ( JAVA에서는 ArrayList를 제공한다. )

- 클래스 : 구조체의 특징과 메소드(함수)까지 포함하여 인스턴스를 생성할 수 있게 한다.

 

2. 선형 구조

- 선형 자료구조는 연속적인 자료라는 뜻이다. 주로 순서를 가지는 경우에 많이 사용하면 큐, 스택이 가장 대표적이다.

- 선형 구조도 사용 방법에 따라 원형, 이중 등으로 사용할 수 있다.

- 각각의 구조의 특성에 따라 활용 가능성이 다양한다

 

3. 비선형 구조

- 비선형 자료구조는 연속적이지 않은 형태, 노드 형태로 제공된다. 

- 대표적으로 그래프, 트리가 있다. 트리는 순환하지 않는, 하나의 노드로 들어오는 차수가 하나인, 특수한 형태의 그래프를 뜻하면 족보를 생각하면 된다.

- 이러한 트리, 그래프는 현실세계의 문제를 해결하는데 유용하게 사용될 수 있다. ( ex. 경로 탐색, 구역 나누기, 외판원 순회 문제 .....)

 

4. 파일 구조

- 데이터를 파일로 저장하는 방식을 분류한 것이다.