스택
스택
스택(Stack)은 컴퓨터 과학과 정보 기술에서 중요한 자료 구조 중 하나로,
데이터를 저장하고 관리하는 데 사용됩니다.
스택은 데이터 요소를 일종의 선형 데이터 구조로 저장하며,
이 데이터 요소는 일반적으로 "푸시(push)" 및 "팝(pop)"이라는 두 가지 기본 연산을 사용하여 조작됩니다. 스택은 후입선출(Last-In, First-Out, LIFO) 원칙을 따릅니다.
이것은 가장 마지막에 추가한 요소가 가장 먼저 제거되는 것을 의미합니다.
스택의 특징과 연산
푸시 (Push):
스택에 요소를 추가하는 연산을 말합니다.
이 연산은 스택의 상단(맨 위)에 새로운 요소를 삽입합니다.
팝 (Pop):
스택에서 요소를 제거하는 연산을 말합니다. 이 연산은 스택의 상단 요소를 제거하고 반환합니다.
피크 (Peek):
스택의 상단 요소를 반환하지만 제거하지 않는 연산을 말합니다.
이를 통해 다음에 팝될 요소를 확인할 수 있습니다.
공백 검사 (Empty Check):
스택이 비어 있는지 여부를 확인하는 연산입니다.
스택은 주로 함수 호출 스택(call stack), 역추적(traceback) 및 임시 데이터 저장에 사용됩니다.
예를 들어, 함수를 호출할 때 현재 상태를 스택에 저장하고 함수가 실행을 완료하면
스택에서 상태를 복원하여 함수 호출을 되돌립니다.
이를 통해 재귀 함수와 같은 프로그램 구조를 구현할 수 있습니다.
스택은 배열(array) 또는 연결 리스트(linked list)를 사용하여 구현할 수 있으며,
언어 및 환경에 따라 내장 스택 구조를 제공하기도 합니다.
스택은 데이터의 순서를 유지하고 데이터가 추가 및 제거되는 방식에 따라 다양한 응용 분야에서 유용하게
활용됩니다.
스택 자세히 알기!!
여러분 앞에 책이 쌓여있는 책 더미가 있습니다. 이 책 더미를 스택으로 생각해보겠습니다.
푸시 (Push):
스택에 새로운 책을 추가하는 동작입니다.
이 동작은 현재 책 더미의 맨 위에 새 책을 올려놓는 것과 같습니다.
새로운 책을 쌓아서 스택에 추가하면 이제 그 책이 스택의 맨 위에 있게 됩니다.
팝 (Pop):
스택에서 책을 제거하는 동작입니다.
이 동작은 스택의 맨 위에 있는 책을 하나씩 뺴내는 것과 같습니다.
팝을 할 때, 가장 최근에 스택에 추가한 책이 먼저 나오게 됩니다.
피크 (Peek):
스택의 맨 위에 있는 책을 확인하는 동작입니다.
이 동작은 책을 실제로 제거하지는 않고, 맨 위의 책이 어떤 것인지 확인할 수 있습니다.
공백 검사 (Empty Check):
스택이 비어 있는지 여부를 확인하는 동작입니다.
스택이 아무 책도 가지고 있지 않으면 비어있다고 판단됩니다.
스택은 컴퓨터 과학에서 함수 호출, 브라우저 히스토리 관리, 언두/레두(undo/redo) 작업,
실시간 데이터 스냅샷 관리, 깊이 우선 탐색(DFS) 등 다양한 응용 분야에서 사용됩니다.
이 예시를 통해 스택이 어떻게 동작하는지 더 잘 이해하실 수 있을 것입니다.
'목차훔치기 > 면접을 위한 CS 전공지식 노트' 카테고리의 다른 글
그래프(면접을 위한 CS 전공지식 노트) (0) | 2023.10.29 |
---|---|
큐(면접을 위한 CS 전공지식 노트) (0) | 2023.10.28 |
벡터(면접을 위한 CS 전공지식 노트) (0) | 2023.10.26 |
배열(면접을 위한 CS 전공지식 노트) (0) | 2023.10.25 |
연결 리스트(면접을 위한 CS 전공지식 노트) (0) | 2023.10.24 |