2

자료구조 _ Queue 그리고 Stack

Queue는 무엇인가요? 큐는 줄 형태의 선입선출 자료구조입니다. 활용예시는 프린트 출력, 은행창구 번호표 대기, 너비우선탐색(BFS) 등이 있습니다. enqueue : 데이터 추가 dequeue : 데이터 추출 시간복잡도는 둘 다 O(1)입니다. array-based queue vs list-based queue array-based queue : 배열 기반 큐는 선입선출 과정에서 남는 메모리가 생깁니다. 이는 circular queue로 해결할 수 있습니다. *circular queue는 배열이 끝까지 차면 첫부분에 비어있는 공간으로 다시 채우기 시작하는 것을 뜻합니다. 만약 공간이 없어서 채울 수 없게 되면 dynamic array와 같은 방법으로 array의 크기를 늘려야 합니다. list-bas..

[자료구조] 스택과 큐 Python 코드로 구현해보았다.

스택과 큐 'Stack'은 나중에 들어온 것을 먼저 내보내는 후입선출을 뜻한다. 'Queue'는 먼저 들어온 것을 먼저 내보내는 선입선출을 뜻한다. 이를 파이썬 코드로 구현하자면 다음과 같다. 스택 top - 스택의 가장 윗부분 (꼭대기) bottom - 스택의 가장 아랫부분 (바닥) push(item) - 데이터를 넣는 작업 pop() - 데이터를 꺼내는 작업 peek() - 스택의 가장 위에 있는 항목 조회 stack_list = [] for i in range(5): stack_list.append(i) print(f"stack_push :: {stack_list}") for _ in range(5): stack_list.pop() print(f"stack_pop :: {stack_list}") 0..