SSAFY/Python문법 정리

[Python] 스택

황성안 2021. 2. 23. 02:00
728x90

스택

- 물건을 쌓아 올리듯 자료를 쌓아 올린 자료구조 형태

- 스택에 저장 된 자료는 선형 구조

  선형  :1:1 구조 관계 갖음

  비선형  : 1:N 구조

- 스택에 자료를 삽입하거나 스택에서 자료를 꺼낼 수 있다.

- 마지막에 삽입한 자료를 가장 먼저 꺼낸다. (후입 선출)

 

구현을 위한 자료구조, 연산

자료구조 : 자료를 선형으로 저장할 저장소

 - C언어에서는 배열을 사용할 수 있다.

 - 저장소 자체를 스택이라 부르기도 한다. 

 - 스택에서 마지막 삽입된 원소의 위치를 top이라 부른다.

 

연산

 - 삽입 : 저장소에 자료를 저장한다. 보통 push라고 부른다.

 - 삭제 : 저장소에서 자료를 꺼낸다. 꺼낸 자료는 삽입한 자료의 역순으로 꺼낸다 . 보통 pop이라 함

 - 스택이 공백인지 아닌지 확인 : isEmpty

 - 스택의 top에 있는 item(원소)을 반환하는 연산. peek

 

과정

push - A

 push - BA

  push- CBA

 pop - BA

 

알고리즘

 - PUSH

def push(item) :

  s.append(item)

 -POP

def pop():

 if len(s) == 0 :

  #underflow

  return

 else :

  return s.pop(-1)

 

728x90

'SSAFY > Python문법 정리' 카테고리의 다른 글

[Python] 큐의 구조  (0) 2021.03.03
[Python] 스택 2  (0) 2021.02.24
[Python] 형변환(atoi, itoa) 및 패턴 매칭  (2) 2021.02.19
[Python] 이진 탐색(feat. [SWEA]4839.이진탐색)  (0) 2021.02.17
[Python] 순차 검색  (0) 2021.02.16