bdfgdfg

자료구조란? 무엇인가 - 1장 본문

CS/자료구조 알고리즘

자료구조란? 무엇인가 - 1장

marmelo12 2021. 7. 2. 20:14
반응형

 

자료구조란?

"어떻게 데이터를 표현하느냐"이다.

위에서 말하는 데이터의 표현은 데이터의 저장을 포함하는 개념이다.

이렇듯 '데이터의 저장'을 담당하는 것이 바로 자료구조.

 

그렇기에 우리가 언어를 공부하면서 배운 기본 자료형 int형, 구조체 혹은 배열등도 자료구조에 속한다.

하지만 흔히 자료구조라함은 이렇게 간단한 구조를 지칭하는것이 아닌 좀 더 복잡한 형태의 자료구조를 이야기한다.

 

자료구조의 분류

 

주로 공부할 내용은 선형구조(리스트,스택,큐등)와 비선형구조(트리,그래프).

 

자료구조와 알고리즘

자료구조가 '데이터의 표현 및 저장방법'을 뜻한다면

알고리즘은 그 자료구조의 데이터를 대상으로 하는 문제 해결방법을 뜻한다.

예를 들어보자.

int arr[10] = {1,2,3,4,5,6,7,8,9,10};

위의 배열선언은 자료구조적 측면의 코드이다.

int sum = 0;
for(int idx = 0; idx < 10; ++idx)
	sum += arr[idx];

그리고 위의 반복문 코드는 배열에 저장된 모든 요소의 합을 구하는 알고리즘이라 할 수 있다.

하지만 배열이 아닌 다른 자료구조였다면 모든 요소의 합을 구하는 저 알고리즘은 달라졌을 것이다.

 

- 자료구조에 따라 알고리즘은 달라진다.

- 알고리즘은 자료구조에 의존적이다.

 

이렇듯. 자료구조를 말할 때 자료구조/알고리즘이라고 설명하는것도 이와 같은 이유때문이다.

 

 

 

 

위의 내용은 윤성우님의 열혈 자료구조를 참고하여 작성하였습니다.

반응형

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

스택 - 6장  (0) 2021.07.03
연결리스트 - 원형, 양방향(이중) 5장  (0) 2021.07.03
연결리스트 - 3장,4장  (0) 2021.07.03
재귀함수 - 2장  (1) 2021.07.02
알고리즘의 성능분석 방법 - 1장  (0) 2021.07.02
Comments