자료구조

자료구조란? 데이터 값의 모임, 각 데이터들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것. 연산에 사용되는 컴퓨터의 메모리 자원은 한정적인데 반해 처리해야할 데이터는 많을 수 있는데, 이 메모리 공간을 효율적으로 사용하는 데 필요한 것이 자료구조 이다.

<aside> ✨

모든 목적에 맞는 자료구조는 없기 때문에 각 자료구조의 장단점을 잘 파악하는 것이 중요하다.

</aside>


자료구조와 알고리즘의 관계

알고리즘이란? Algorithm 이란 어떤 문제를 해결하기 위해 정해진 절차나 방법을 공식화 한 형태로 표현한 것. 문제풀이에 필요한 계산절차 또는 처리과정의 순서이다. ”프로그램 명령어들의 집합” 이라고도 한다.

보통 자료구조가 선택되면 적용할 알고리즘은 명확해진다. 즉, 자료구조가 효율적인 알고리즘을 사용할 수 있게 함으로써 자료구조와 알고리즘은 밀접한 관계를 가지게 된다.

프로그램은특정 문제를 해결하기 위한 처리 방법과 순서를 기록한 명령어들의 모음이다. 이 프로그램이 실행되기 위해서는 메모리에 올릴 데이터가 필요하며 이 데이터들을 담아내는 방식은 자료구조다.

<aside> ✨

자료구조의 선택 → 효율적인 알고리즘의 선택

즉, 넓은 의미에서 자료구조 + 알고리즘(+a) = 프로그램 이라고 할 수 있다.

</aside>


필수 자료구조 (8개)

자료구조로 흔히 알려진 배열, 리스트, 큐, 스택 같은 기본적인 것부터, 특수한 상황에 맞는 자료구조도 있기 때문에 범위가 상당히 넓다.

20220729155328_vhdglugy.png

1. Array(배열)

동일한 타입의 데이터들을 저장하며, 고정된 크기를 가진다. 인덱싱이 되어있어 인덱스번호로 접근이 가능하다.