자료구조(Data Structure) : 데이터를 표현하고 관리하고 처리하기 위한 구조
스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성된다.
- 삽입(Push) : 데이터를 삽입한다.
- 삭제(Pop) : 데이터를 삭제한다.
+) 스택과 큐를 사용할 때는 삽입과 삭제 이외에도 오버플로와 언더플로를 고민해야 된다.
- 오버플로(Overflow) : 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생
- 언더플로(Underflow) : 자료구조에 데이터가 전혀 들어있지 않은 상태에서 삭제 연산을 수행하면 발생
큐(Queue)
선입선출(First In First Out) 구조
큐 예제
from collections import deque
#큐(Queue) 구현을 위해 deque 라이브러리 사용
queue = deque()
# 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()
queue.append(5)
queue.append(2)
queue.append(3)
queue.append(7)
queue.popleft()
queue.append(1)
queue.append(4)
queue.popleft()
print(queue) #먼저 들어온 순서대로 출력 >> deque([3, 7, 1, 4])
queue.reverse() #다음 출력을 위해 역순으로 바꾸기
print(queue) #나중에 들어온 원소부터 출력 >> deque([4, 1, 7, 3])
print(list(queue)) # >> [4, 1, 7, 3]
'CS지식 > 자료구조' 카테고리의 다른 글
[자료구조] 스택(Stack)과 큐(Queue) (0) | 2023.02.21 |
---|---|
[자료구조] 배열, 동적 배열, 연결 리스트 (Array & Dynamic Array & Linked List) (0) | 2023.02.21 |
[자료구조] 자료구조 (Data Structure) (0) | 2023.02.21 |
[Python 자료구조] 스택 (Stack) (0) | 2023.02.20 |
자료구조(Data Structure) : 데이터를 표현하고 관리하고 처리하기 위한 구조
스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성된다.
- 삽입(Push) : 데이터를 삽입한다.
- 삭제(Pop) : 데이터를 삭제한다.
+) 스택과 큐를 사용할 때는 삽입과 삭제 이외에도 오버플로와 언더플로를 고민해야 된다.
- 오버플로(Overflow) : 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생
- 언더플로(Underflow) : 자료구조에 데이터가 전혀 들어있지 않은 상태에서 삭제 연산을 수행하면 발생
큐(Queue)
선입선출(First In First Out) 구조
큐 예제
from collections import deque
#큐(Queue) 구현을 위해 deque 라이브러리 사용
queue = deque()
# 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()
queue.append(5)
queue.append(2)
queue.append(3)
queue.append(7)
queue.popleft()
queue.append(1)
queue.append(4)
queue.popleft()
print(queue) #먼저 들어온 순서대로 출력 >> deque([3, 7, 1, 4])
queue.reverse() #다음 출력을 위해 역순으로 바꾸기
print(queue) #나중에 들어온 원소부터 출력 >> deque([4, 1, 7, 3])
print(list(queue)) # >> [4, 1, 7, 3]
'CS지식 > 자료구조' 카테고리의 다른 글
[자료구조] 스택(Stack)과 큐(Queue) (0) | 2023.02.21 |
---|---|
[자료구조] 배열, 동적 배열, 연결 리스트 (Array & Dynamic Array & Linked List) (0) | 2023.02.21 |
[자료구조] 자료구조 (Data Structure) (0) | 2023.02.21 |
[Python 자료구조] 스택 (Stack) (0) | 2023.02.20 |