자료구조 (Data Structure)
기술노트
자료구조 (Data Structure)
자료구조란 컴퓨터 프로그래밍에서 데이터를 효율적으로 저장하고 관리하기 위한 방법입니다. 소프트웨어 개발에 있어서 필수적인 요소입니다.
개념 설명
프로그램은 기본적으로 어떤 데이터를 다룹니다. 예를 들어 회원 관리 프로그램이라면 회원 데이터를 다루게 됩니다. 회원의 정보를 기억하고, 보여주기도 하고, 탈퇴할 수도 있습니다. 이러한 정보를 자료라고 하고, 이것을 어떻게 관리할 것인지, 어떤식으로 저장할 것인지가 자료 구조입니다.
대표적인 자료구조
배열 (Array)
어떤 값들을 일정하게 열거하여 다루는 구조입니다.
스택 (Stack)
값을 넣었다가 뺐다가 할 수 있는 구조로, 마지막으로 쌓인 값이 먼저 나오는 특징을 가집니다 (LIFO: Last In First Out). 예전에 택시에서 동전을 끼워 놓는 케이스나 PC방에서 회원 카드가 쌓인 것이 스택의 예시입니다.
큐 (Queue)
먼저 들어간 값이 먼저 나오는 구조입니다 (FIFO: First In First Out). 물건을 살 때 줄을 서는 경우처럼, 줄을 먼저 선 사람이 계산을 마치고 먼저 나가게 되는 것과 같은 원리입니다.
자료구조의 중요성
자료 구조를 이해하는 것은 프로그래밍에서 매우 중요합니다. 하지만 모든 자료구조를 처음부터 직접 개발할 필요는 없습니다. 이미 잘 만들어진 라이브러리를 활용하는 것이 시간적으로나 안정성 측면에서 효율적일 수 있습니다.