1. 스택 - 삽입 삭제가 후입선출(LIFO)하는 자료구조, 삽입 삭제가 한쪽에서 이루어짐
스택 구현
class Node:
def __init__(self, item, next):
self.item = item
self.next = next
class Stack:
def __init__(self):
self.top = None
def push(self, value):
self.top = Node(value, self.top)
def pop(self):
if self.top is None:
return None
node = self.top
self.top = self.top.next
return node.item
def is_empty(self):
return self.top is None
2. 큐 - 삽입과 삭제 연산이 선입선출(FIFO)하는 자료구조
큐 구현
class Node:
def __init__(self, item, next):
self.item = item
self.next = next
class Queue:
def __init__(self):
self.front = None
def push(self, value):
if not self.front:
self.front = Node(value, None)
return #종료
node = self.front
while node.next:
node = node.next
node.next = Node(value, None)
def pop(self):
if not self.front:
return None
node = self.front
self.front = self.front.next
return node.item
def is_empty(self):
return self.front is None
'파이썬 알고리즘 인터뷰 > 스터디 과제' 카테고리의 다른 글
DFS와 BFS (0) | 2024.01.11 |
---|