[자료구조] 큐 (Queue) - 배열로 구현 (C, Python)
◎ 자료구조와 알고리즘/자료구조 이론2024. 4. 14. 13:51[자료구조] 큐 (Queue) - 배열로 구현 (C, Python)

🖥️ 들어가며 큐 (Queue) 는 선입선출 (First In First Out) 구조입니다. 가장 대표적인 예시로는 식당에서 줄 서는 상황이라 할 수 있을 것입니다. 큐는 다양한 애플리케이션에서 매우 중요한 역할을 합니다. 예를 들어, 운영체제에서는 프로세스 관리를 위해 작업들을 큐에 넣고, 네트워크 시스템에서는 데이터 패킷의 전송을 위해 큐를 사용하여 데이터의 순서를 유지합니다. 또한 프린터의 작업 대기열, 웹 서버의 요청 처리 등 실생활에서도 큐의 원리를 적용한 시스템을 쉽게 찾아볼 수 있습니다. 큐는 여러 가지 방식으로 구현될 수 있습니다. 가장 기본적인 형태는 선형 큐(Linear Queue)이며, 이외에도 순환 큐(Circular Queue), 우선순위 큐(Priority Queue), 덱(D..

[자료구조] 스택 - Stack (C, Python)
◎ 자료구조와 알고리즘/자료구조 이론2024. 4. 13. 21:51[자료구조] 스택 - Stack (C, Python)

우측 상단에서 다크 모드를 끌 수 있습니다! 🖥️ 들어가며 스택(Stack)은 우리 주변에서도 흔히 볼 수 있는 자료구조입니다. 문서 수정 시 되돌리기나, Ctrl-C Ctrl-V라는 좋은 예도 있고, 가장 대표적으로 사용되는 프링글스 과자 예시도 직관적으로 다가옵니다. 즉, 스택은 말 그대로 ‘쌓아놓은 어떤 더미’를 뜻합니다. 스택 스택의 가장 큰 특징은 후입선출(LIFO : Last-In First-Out)입니다. 아래 그림을 보면 이해하기 쉽습니다. 요는 가장 최근에 들어온 데이터가 가장 먼저 나간다 입니다. 스택의 구조 Push : 데이터 삽입 연산 Pop : 데이터 삭제 연산 요소(데이터) : 삽입된 데이터 스택 하단 : 가장 먼저 삽입된 데이터가 있는 곳, 최하단 스택 상단 : 스택의 입출력이..

image