2025/06/25 4

큐(Queue)

큐선입선출(FIFO) 방식으로 데이터를 처리하는 선형 자료구조이다. 가장 먼저 들어온 데이터가 가장 먼저 나가는 특징을 가지고 있다. 구조 장점순차적 처리에 적합하다.구현이 간단함.deque으로 구현 시 메모리 관리 효율이 좋음 단점중간 데이터 접근이 불가능함.배열 기반 큐는 삽입,삭제 시 앞 공간이 낭비됨.복잡한 자료 구조에는 부적합함. 큐의 주요 연산 연산기능시간복잡도enqueue삽입O(1)dequeue삭제O(1)front맨 앞 요소 조회O(1)size() / empty()사이즈/ empty 확인O(1) 리스트로 구현(python)class Queue: def __init__(self): self.q = [] def isEmpty(self): if len(self...

스택(Stack)

스택 한쪽 끝에서만 삽입과 삭제가 이루어지는 선형 자료구조(linear data structure)이다. 가장 나중에 삽입된 데이터가 먼저 삭제되는 LIFO를 따른다. 스택의 장점과 단점장점 : 구현이 쉬움, 삽입과 삭제가 빠르다(O(1)), 재귀적 상황을 자연스럽게 표현 가능단점 : 중간요소 접근 불가, LIFO 구조로 인해 일부 알고리즘에 부적합하다, 크기 제 스택을 왜 사용할까? 후입선출 구조가 필요한 문제 해결함수 호출 관리 (Call Stack)괄호 검사, 수식 계산기DFS(깊이 우선 탐색)와 백트래킹Undo/Redo 기능 (웹브라우저, 텍스트 에디터 등) 스택 주요 연산함수 이름기능시간복잡도push()삽입O(1)pop()삭제 및 반환O(1)is_empty()비어있는지 확인O(1)size(..