지난 시간까지 Stack과 Queue를 배우고 Generic형태로 구현하는 방법에 대해 배웠습니다.
Data Structure, Generic Stack & Queue
지난 시간까지 Stack & Queue를 Linked List와 Array 두 가지 데이터 구조로 구현해봤습니다. Data Structure, Stack Stack과 Queue, Hash Table 등 대표적인 Data Structure를 정리해보려 합니다. 42 Seoul에서 PushSwap Project
songye.tistory.com
오늘은 이러한 Stack과 Queue를 활용한 Aplication들을 살펴볼 예정입니다.
단순히 알고리즘과 데이터 구조를 아는 것에 그치지 않고
실제 기술을 어디에 적용하고 사용하는가가 훨씬 더 중요합니다.
그러면 실제 사례들을 한 번 같이 알아봅시다
1. Stack Applications
(1) Compiler, 입력 코드를 Parsing할 때
(2) JAVA Virtual Machine
(3) Program Undo 기능
(4) Web brower, 뒤로가기 기능
(5) PostScript language
(6) Function Calls
한 가지만 살펴봅시다.
Function Calls
재귀함수를 생각해봅시다.
재귀함수란 함수 안에서 함수가 자기 자신을 호출하여 재귀적으로 실행되는 함수입니다.
재귀함수가 실행되는 순서를 1, 2, 3, 4라고 하면
return 되는 순서는 4, 3, 2, 1 순서임을 알 수 있습니다.
LIFO구조임을 확인할 수 있습니다.
2. Queue Apllication
(1) Music Player -> Play List를 Queue에 넣고 순서대로 실행
(2) Data Buffer, Router를 보면 Packet을 Queue에 담아서 보내는 것처럼 데이터를 송수신할 때 Queue를 사용
(3) 콜센터, 먼저 전화한 순서대로 기다립니다.
(4) 음식점, 순서대로 입장 -> 키오스크 주문, 전자 예약도 동일하게 Queue로 구현
간략한 알고리즘을 사용한 예들을 알아봤습니다!
이것외에도 수 많은 일상생활 가운데 Stack과 Queue가 사용되는데요
이처럼 기술을 배우고 활용할 수 있는 능력이 중요해지는 시기인것 같습니다!
'Computer Science > Data Structure & Algorithms' 카테고리의 다른 글
Data Structure, Generic Stack & Queue (1) | 2024.02.29 |
---|---|
Data Structure, Queue (0) | 2024.02.28 |
Data Structure, Stack (1) | 2024.02.27 |
Weighted Union-Find Algorithm & Path Compression (1) | 2024.02.23 |
Union-Find Algorithm, Quick-Union (0) | 2024.02.22 |