[간단정리] Java에서 Stack, Queue 그리고 Deque
·
개발메모/간단정리
🧭 개요최근 알고리즘 문제를 풀면서 자연스럽게 Stack이나 Queue를 사용하는 일이 많아졌습니다.그 과정에서 Java에서는 이들 대신 Deque 사용을 권장한다는 내용을 접하게 되었고,처음엔 “왜 굳이?”라는 의문이 들었습니다.자세히 알아보니 생각보다 명확한 이유들이 있었고, 앞으로 실무에서도 도움이 될 것 같다는 생각이 들어이번 기회에 Stack, Queue, Deque의 차이점과 왜 Deque가 권장되는지를 정리해보려 합니다.📚 내용1. Stack 클래스의 문제점Java에서 Stack은 LIFO(후입선출) 구조를 제공하지만, 다음과 같은 단점이 존재합니다:레거시 클래스: Stack은 JDK 1.0 시절부터 존재하는 오래된 클래스입니다.Vector 기반 구현: Stack은 Vector를 상속받고..
선형 큐(Linear Queue)
·
JAVA/알고리즘
- FIFO - First In First Out(선입선출)- 인큐(EnQueue)를 통해 자료 입력, 디큐(DeQueue)을 통해 자료 출력 * 매표소, 가장 먼저 줄서있는 사람에게 표를 먼저 제공한다. * 선형 큐 알고리즘은 Rear가 배열의 끝에 닿아 있으면, 앞에 배열의 빈 부분(Q[0])이 남아 있어도 더이상 삽입연산을 하지 못한다.메모리를 효율적으로 관리하지 못함. 이러한 문제점을 해결하기 위해 원형 큐가 만들어졌다. JAVA 소스코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778..