열정 실천

[자료구조] 시작하기 - 자료구조란? 자료구조의 분류 본문

CS/자료구조

[자료구조] 시작하기 - 자료구조란? 자료구조의 분류

구운오니 2022. 6. 29. 22:44

자료구조란? 

현실 세계에서의 반복적이고 복잡한 자료들을 효율적으로 처리하기위해 컴퓨터는 자료들을 정리하고 조직화하는 여러가지 구조들을 활용한다. 이를 자료구조라고 부른다.

 

자료구조의 분류

자료구조는 프로그래밍 언어가 기본적으로 제공하는 정수, 실수, 문자와 같은 단순 자료구조와 이와는 다른 복합 자료구조로 나눠지고, 복합 자료구조는 가시 선형 자료구조와 비선형 자료구조로 나누어진다.

 

 

프로그램 = 자료구조 + 알고리즘 

프로그램은 데이터를 처리하고 있고 이들 자료구조는 자료구조를 사용하여 표현하고 저장된다. 

또한, 주어진 문제를 처리하는 절차인 알고리즘이 필요하다.

자료구조와 알고리즘은 밀접한 관계가 있어서 자료구조가 결정되면 그 자료구조에서 사용할 수 있는 알고리즘이 결정된다. 

 

 

효율적인 알고리즘이란?

전체 실행 시간이 짧으면서 메모리와 같은 컴퓨터의 자원들을 적게 사용하는 알고리즘 

(일반적으로 메모리공간보다 실행시간을 더 중요하게 생각된다)