자료구조 03 : 스택 (stack)

2022. 9. 22. 08:03자료구조 및 알고리즘

굉장히 많이 쓰이는 핵심 자료구조 중

하나로 큐와 마찬가지로 구조와 관련된

간단한 용어를 알고 파이썬으로 직접

구현하는 연습까지 할 수 있으면 좋다.

 

한쪽 끝에서만 자료를 넣거나 뺄 수

있다는 점에서 데이터에 제한적으로

접근한 수 있는 구조란 것은 큐와 유사하다.

중요한 점은 가장 나중에 쌓은 데이터를

가장 먼저 빼낼 수 있는 데이터 구조란 것이다.

 

스택 구조

스택에 데이터를 넣을 때 : 아래부터 쌓임

스택은 LIFO 또는 FILO 데이터 관리 방식을 따른다.

책을 가로로 눕혀서 쌓은 것과 같은 상황이다.

맨 위 있는, 즉 가장 나중에 쌓은 책을 먼저 꺼낼 수 밖에 없는 구조.

스택에서 데이터를 빼낼 때 : 위에서부터 빠짐

대표적인 스택 활용 부분은 컴퓨터 내부 프로세스

구조의 함수 동작 방식에 쓰인다.

 

psuh() : 데이터 스택에 넣기 

pop() : 데이터 스택에서 꺼내기

★용어 뜻은 꼭 알아두기

 

 

장점

- 구조가 단순해서 구현이 쉽다.

- 데이터 저장 및 읽기 속도가 빠르다.

 

단점(일반적인 스택 구현 시)

- 데이터 최대 갯수를 미리 정해야 한다.

  ㄴ데이터 저장 공간의 낭비가 발생할 수 있다.