[자료구조] 스택 Stack

2025. 3. 23. 20:33·CS/자료구조 & 알고리즘

 


 

1. 스택

  • 스택은 데이터를 순서대로 쌓아 올린 형태로 구성되는 자료구조이다.
  • 후입선출(LIFO, Last-In, First-Out) 방식으로, 가장 마지막에 삽입된 데이터가 가장 먼저 제거되는 구조를 가진다.


2. LIFO

  • 후입선출(LIFO)은 스택의 작동 방식을 정의하는 가장 중요한 원칙이다.
  • 데이터를 추가하는 것을 ‘푸시(Push)’, 데이터를 제거하는 것을 ’팝(Pop)’이라고 한다.
  • 항상 스택의 가장 위(Top)에서만 이러한 작업이 이루어진다.

 

3. 특징

장점

  • 단순한 구조: 데이터가 한쪽 끝에서만 추가되고 제거되므로 구조가 매우 단순하고 이해하기 쉽다.
  • 구현 용이성: 배열이나 연결 리스트를 사용하여 쉽게 구현할 수 있다.
  • 빠른 연산 속도: Push 및 Pop 연산은 일반적으로 O(1)의 매우 빠른 시간 복잡도를 가진다.

단점

  • 제한된 접근성: 스택의 가장 위에 있는 요소(Top)에만 직접 접근할 수 있으며, 그 외의 요소에는 접근하려면 상위 요소들을 모두 Pop 해야 한다. 따라서 특정 요소의 검색이나 수정이 비효율적이다.
  • 크기 제한 (배열 기반 구현 시): 배열을 사용하여 스택을 구현하는 경우, 초기에 설정한 크기를 넘어서 데이터를 저장할 수 없는 단점이 있다. (동적 배열을 사용하면 해결 가능하나, 크기 조정에 비용 발생)

'CS > 자료구조 & 알고리즘' 카테고리의 다른 글

[자료구조] 연결 리스트 Linked List  (0) 2025.04.24
[자료구조] PHP로 원형큐 구현  (0) 2025.03.31
[자료구조] 큐 Queue  (0) 2025.03.28
[자료구조] 리스트 List  (0) 2025.03.23
[자료구조] 배열 Array  (0) 2025.03.12
'CS/자료구조 & 알고리즘' 카테고리의 다른 글
  • [자료구조] PHP로 원형큐 구현
  • [자료구조] 큐 Queue
  • [자료구조] 리스트 List
  • [자료구조] 배열 Array
초오오이
초오오이
  • 초오오이
    초이
    초오오이
  • 전체
    오늘
    어제
    • 분류 전체보기 (101)
      • PHP (4)
      • Laravel (7)
      • Vue.js (5)
      • CS (73)
        • WEB (1)
        • 컴퓨터 구조 (12)
        • 운영체제 (24)
        • 네트워크 (24)
        • 자료구조 & 알고리즘 (12)
      • etc (6)
        • 자격증 (3)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
초오오이
[자료구조] 스택 Stack
상단으로

티스토리툴바