[자료구조] 55. Stack

Connected Brain·2025년 5월 16일

면접 질문 대비

목록 보기
55/60

Stack의 특성을 설명해주세요.

Stack

Stack<string> numbers = new Stack<string>();
numbers.Push("one");
numbers.Pop()
  • Push()를 통해 데이터를 추가하고, Pop()을 통해 꺼내서 사용하는 자료구조
  • 후입선출의 특성을 가져 Pop() 실행시 가장 마지막에 추가한 데이터가 출력됨
  • Pop()을 통해 데이터를 읽을 때 Stack에서 동시에 제거되는 특징이 있음

장단점

  • 임시 저장소로서의 역할을 하기에 적합함. Stack에 처리해야할 임시 변수를 Push()해 두고 이를 처리할 때 Stack이 빌 때까지 이를 Pop()하여 처리하게 할 수 있음
  • Push()Pop()이 시간복잡도가 O(1)이므로 Stack이 아무리 커져도 처리하는데 시간이 오래 걸리지 않음
  • 다만 Stack에서 특정 요소를 검색하는 것은 비효율적이고, 중간에 있는 요소에 접근하는 것 또한 권장되지 않는다. 또한 후입선출이 아닌 선입선출 특성을 필요로할 때는 Queue를 사용해야 한다.

0개의 댓글