Computer Science/자료구조
-
[자료구조] 스택(Stack)과 큐(Queue) 이해하기Computer Science/자료구조 2019. 6. 13. 21:59
스택(Stack)과 큐(Queue)는 서로 닮았지만 다른 자료구조입니다. 비교를 통해 두 자료구조를 알아보겠습니다. 스택의 개념 '쌓다' 라는 의미를 가지고 있는 스택(Stack)은 그 의미와 같이 데이터를 차곡차곡 쌓아올린 형태로 자료를 구성합니다. 책상 위에 쌓아둔 책이나 주방에 쌓아둔 접시를 예로 들 수 있는데요. 스택은 후입선출(Last-in First-out)의 자료구조입니다. 앞자만 따서 LIFO 구조라고 하며, 마지막에 들어온 것이 먼저 나간다라는 뜻입니다. 입구와 출구가 같은 자료구조라고 할 수 있겠습니다. 입구와 출구가 하나밖에 없으니 데이터의 삽입과 삭제가 한 방향에서만 이루어집니다. 스택에서는 흔히 데이터의 삽입 연산을 push, 삭제 연산을 pop 이라 칭합니다. 삽입과 삭제가 일어..
-
[자료구조] 리스트(List) 이해하기Computer Science/자료구조 2019. 4. 14. 00:26
리스트는 가장 빈번하게 사용되는 자료구조 중 하나입니다. 다량의 데이터를 다루는데 가장 단순한 방법이기 때문인데요. 기본적인 자료구조이다 보니 프로그래밍 언어들에 내장되어 있는 경우가 많습니다. 자주 사용하는 만큼 이론적인 부분도 중요하기 때문에 리스트(List)에 대해 정리해 보았습니다. 자료구조의 두 가지 구현 방법 자료구조는 구현 방법에 따라 크게 두 갈래로 분류할 수 있습니다. 바로 순차(Sequential) 자료구조와 연결(Linked) 자료구조입니다. 순차 자료구조는 구현할 자료들을 논리적인 순서대로 메모리에 연속하여 저장하는 자료구조입니다. 데이터가 컴퓨터 메모리에 저장될 때, 저장 시작 위치부터 빈자리 없이 순서대로 저장된다는 뜻인데요. 자료의 논리적인 순서와 물리적인 순서가 일치하는 구현..