[algorithm] Stack&Queue [python]
Stackpython list 자료구조를 사용하여 간단하게 구현stack = [0, 1, 2]print(stack)stack.append(3)print(stack)stack.pop()print(stack)'''[0, 1, 2][0, 1, 2, 3][0, 1, 2]'''Queuecollections.deque는 double ended queue의 약자로, doubly linked list 로 구성되어있음from collections import deque d = deque()print(type(d)) # #enque for i in range(10): d.append(i) print(d) '''deque([0,1,2,3,4,5,6,7,8,9])'''#enque from left d.appendleft(10..
[algorithm] BFS & DFS
BFS (breadth first search)루트노드와 같은 거리에 있는 노드 우선Queue 사용graph_list = {1: set([3, 4]), 2: set([3, 4, 5]), 3: set([1, 5]), 4: set([1]), 5: set([2, 6]), 6: set([3, 5])}root_node = 1from collections import dequedef BFS_with_adj_list(graph, root): visited = [] queue = deque([root]) while queue: n = queue.popleft() ..