-
알고리즘 기초 01) 스택 (Stack) 자료 구조Algorithm 공부자료/기본 알고리즘 정리 2020. 3. 10. 01:46
개념
Last In First Out (LIFO) 형식을 따르는 자료구조. 즉, 가장 최근에 추가된 항목이 가장 먼저 제거될 항목
일시적으로 data를 저장하기 위해서 사용한다.
대표적인 사용처 : 인터럽트의 처리, 수식의 계산, 서브 루틴의 복귀 번지 저장, 부트 프로그램 호출, 지역 변수 저장, 임시 데이터 백업 등
단점 : LIFO로 인한 우선순위 문제가 발생할 수 있다.
새로운 입력이 들어오면, botton에 있는 데이터는 계속 bottom에 있게된다.
연산
pop : stack 가장 위의 항목을 제거한다.
push : 인자를 stack 가장 위에 추가한다.
peek : 제거하지는 않으면서, stack 가장 위의 항목을 출력한다.
indexOf : 인자가 stack에 존재 하는지, 존재 한다면 stack의 어디에 존재하는지 인자의 index 출력한다.
size : stack에 쌓여 있는 data 수 출력한다.
IsEmpty : stack의 empty 여부를 확인한다.
구현
'구현'을 클릭하면 파이썬을 이용하여 간단히 구현한 stack을 볼 수 있다.
'Algorithm 공부자료 > 기본 알고리즘 정리' 카테고리의 다른 글
알고리즘 기초 04) 힙 (Heap) 자료 구조 (0) 2020.03.12 알고리즘 기초 03) 트리 (tree) 자료 구조 (0) 2020.03.12 알고리즘 기초 02) 큐 (Queue) 자료 구조 (0) 2020.03.10