[collection] 큐(queue) 무엇인가요?
2022. 8. 19. 14:41
몰아 넣기
큐(queue) 란? 큐는 메모리 안 데이터들을 더욱 효율적으로 다루기 위해 만들어진 데이터 참조방식 구조는 '선입선출'의 구조를 가지고 있으며 양쪽 끝에서만 데이터를 넣거나 뺄 수 있는 선형구조입니다. 즉, 제일 처음에 들어온 데이터가 제일 빨리 나가는 방식입니다. 은행 창구 줄서기 예로 든 설명입니다. (1) Enqueue : 큐 맨 뒤에 어떠한 요소를 추가, 마지막으로 온 손님에게 번호표 발부 (2) Dequeue : 큐 맨 앞쪽의 요소를 삭제, 창구에서 서비스를 받은 손님의 번호표를 대기목록에서 삭제 (3) Peek : front에 위치한 데이터를 읽음, 다음 서비스를 받을 손님이 누구인지 확인 (4) front: 큐의 맨 앞의 위치(인덱스), 다음 서비스를 받을 손님의 번호 (5) rear: 큐..
[java/collection] 스택(stack), 큐(queue), ArrayDeque 대해서
2022. 6. 10. 13:25
몰아 넣기
스택이란?(stack) 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 자료구조로 입니다. 이것을 LIFO(Last In First Out) 라고 합니다. 웹브라우저의 앞페이지 이동 뒤페이지 이동 / 그릇 쌓기 대표예시입니다. 아래 그림을 보도록 하죠. 먼저 삽입된 값인 17이 가장 아래로, 이후 삽입되는 값은 그 위에 쌓이기 시작합니다. 이후, pop()을 통해 값을 반환할 때도 마지막에 삽입된 값인 45가 가장 먼저 반환되죠! 예제 public class Main { public static void main(String[] args) { Stack stack = new Stack(); stack.push(1); stack.push(3); stack.push(5); stack.push(7); Sys..