. 스택 (Stack): 웹브라우저 뒤로가기 버튼
- 비유: 책 쌓기
- 특징: 가장 마지막에 넣은 데이터를 가장 먼저 빼낼 수 있는 구조야. 마치 책을 쌓아 올릴 때 가장 위에 놓인 책을 먼저 빼는 것과 같아.
- 활용 예시:
- 웹 브라우저의 뒤로 가기 버튼: 방문한 웹 페이지를 스택에 저장해 놓고, 뒤로 가기 버튼을 누르면 스택의 가장 위에 있는 페이지를 꺼내 보여주는 거야.
- 함수 호출: 함수를 호출할 때마다 호출된 함수의 정보를 스택에 저장해 놓고, 함수가 끝나면 스택에서 정보를 꺼내 이전 함수로 돌아가는 방식으로 프로그램이 실행돼.
2. 큐 (Queue): 프린터 작업 대기열
- 비유: 줄 서기
- 특징: 가장 먼저 넣은 데이터를 가장 먼저 빼낼 수 있는 구조야. 마치 줄을 설 때 가장 먼저 온 사람이 가장 먼저 나가는 것과 같아.
- 활용 예시:
- 프린터 작업 대기열: 프린터에 인쇄 작업을 요청하면 작업들이 큐에 들어가고, 프린터는 큐에 있는 작업들을 순서대로 처리해.
- 데이터 처리: 많은 양의 데이터를 처리할 때, 데이터를 큐에 넣고 하나씩 꺼내서 처리하면 효율적으로 작업을 처리할 수 있어.
3. 덱 (Deque): 텍스트 편집기(양쪽커서 수정)
- 비유: 양쪽 끝에서 출입이 가능한 버스
- 특징: 스택과 큐의 기능을 모두 가지고 있어, 양쪽 끝에서 데이터를 넣고 뺄 수 있는 구조야.
- 활용 예시:
- 텍스트 편집기: 텍스트 커서의 왼쪽이나 오른쪽에 문자를 삽입하거나 삭제할 때 덱을 사용하면 편리해.
- 캐시: 최근에 사용한 데이터를 덱에 저장하여 빠르게 접근할 수 있도록 하는 캐시 구조에 사용될 수 있어.
정리하면, 스택, 큐, 덱은 각각 다른 특징을 가지고 있으며, 이러한 특징에 맞게 다양한 프로그램에서 활용되고 있어. 어떤 자료구조를 사용해야 할지는 문제 상황에 따라 달라지므로, 각 자료구조의 특징을 잘 이해하고 적절하게 활용하는 것이 중요해.
예를 들어, 게임에서 캐릭터가 이동할 때, 이동 경로를 스택에 저장하면 캐릭터가 이전 위치로 돌아갈 때 스택에서 정보를 꺼내 사용할 수 있어. 또한, 음악 재생 목록을 큐에 저장하면 노래를 순서대로 재생할 수 있고, 덱을 이용하면 재생 목록에서 임의의 위치에 노래를 추가하거나 삭제할 수 있어.
'개발 일기' 카테고리의 다른 글
딥러닝에서 텐서플로우, 파이토치가 왜 유명할까? (2) | 2024.09.24 |
---|---|
데이터분석에서 선형대수,미적분,통계가 왜 필요한가? (2) | 2024.09.14 |
AI 개발자를 하려고 C언어를 배운 이유 (3) | 2024.09.14 |
통계 모델링이란? AI 할때 통계를 배워야 한다면..ml,dl보단 통계 모델링 할때 필요 (2) | 2024.09.14 |
회귀 분석이란?회귀분석 기본 가정, 회귀 모형 평가 (0) | 2023.08.15 |