_니지 2022. 5. 20. 10:54

 

❗스택

1. 스택(stack)

후입선출(Last In First Out, LIFO) 구조를 가진 자료구조

 

2. 파이썬에서의 스택

파이썬에서는 내장모듈에 스택 라이브러리가 따로 존재하지 않기 때문에 리스트로 만들어준다.

push(append): 스택의 뒤에 원소를 삽입

pop: 스택의 뒤에서 원소 하나를 삭제해줌

top: 스택의 맨 뒤 원소를 반환해줌

empty: 스택이 비었는지 아닌지 확인해줌

 

3. 스택 관련 함수

# 스택 초기화
s  = []

#스택 push
s.append(1)
s.append(2)
s.append(3)
print(s)

#스택 pop
top = s.pop()
print(top)

#스택 top
top = s[-1]
print(top)

#스택 empty
if not s:
    print("stack is empty")
else:
    print("stack is not empty")

 

❗큐

1. 큐(queue)

선입선출(First In First Out, FIFO) 구조를 가진 자료구조

 

2. 파이썬에서의 큐

파이썬에서는 내장모듈에 큐 라이브러리가 따로 존재하지 않기 때문에 리스트로 만들어준다.

push(append): 큐의 뒤에서 원소를 삽입

pop(0): 큐의 0번째 인덱스에서 원소를 삭제해줌

front: 큐의 맨 앞 원소를 반환해줌

empty: 큐가 비었는지 아닌지 확인해줌

 

3. 큐 관련 함수

# 큐 초기화
q  = []

#큐 push
q.append(1)
q.append(2)
q.append(3)
print(q)

#큐 pop
front = q.pop(0)
print(front)

#큐 top
front = q[0]
print(front)

#큐 empty
if not q:
    print("queue is empty")
else:
    print("queue is not empty")

 

 

❗순열

1. 순열

순서가 있는 n개에 대해서 이를 나열할 수 있는 연산

 

2. 순열 예

[1, 2, 3]

  • 1 2 3
  • 1 3 2
  • 2 1 3
  • 2 3 1
  • 3 1 2
  • 3 2 1

 

3. 순열 구현 방법

  • 재귀함수
  • itertools 모듈의 permutations 함수

참고자료: [Python] 순열(Permutation), 조합(Combination) (velog.io) 

728x90
반응형