메모리와 연산으로 구조된 이 모든 과정을 자료 구조 라고 한다.
자료구조에 저장된 data로 문제를 푸는 논리적인 절차가 알고리즘이다.
✔즉, 자료는 일을 하기 위한 준비물, 알고리즘은은 수행 과정이라고 이해하면 된다.
자료구조란?
컴퓨터에서 자료를 효율적으로 구조화 하는 방법
개발자는 컴퓨터의 데이터를 효율적으로 정리하고 활용하는 프로그래밍을 해야한다.
<단순 자료 구조>
정수, 실수, 문자와 같이 프로그래밍 언어에서 기본적으로 제공
<선형 자료 구조>
선형 자료 구조는 기본적인 자료들이 순서적으로 나열 되는 자료구조
Ex) 스택, 큐, 덱 등
<비선형 자료 구조>
자료들이 보다 복잡한 연결 관계를 갖는 자료구조
Ex) 이진 탐색, AVL트리, 우선순위 큐, 최단 경로 등
자료구조의 활용 -> 자료구조의 대표적인 응용은 정렬과 탐색이다.
알고리즘(Algorithm)이란?
위에서 구조화 한 자료구조를 활용하여 최단시간이나 어떤 것을 효율적으로 해결하게 만드는 것