노마드코더 Nomad Coders youtube를 토대로 필기했습니다!
프로그래밍언어 상에서 실제로 존재안함!
라고 부름
큐 Queues
일종의 규칙
줄 서는 것
버스를 기다린다고 생각!
줄 맨 앞에 서 있는 사람이 가장 먼저 버스를 탄다
줄 뒤에 있는 사람은 가장 마지막에 탑승하게 된다
큐 Queues는 배열array 인데 이 배열에선
가장 먼저 큐에 입장한 요소가 가장 먼저 큐에서 나가는 요소가 됨
이걸
First in Last out
FIFO
라 일컫음!
하지만 큐는 비행기 타기 전 줄 서는 것 같은거
새로운 요소는 큐 맨 뒤에 추가되고, 맨 앞에 있는 요소만 읽거나 삭제될 수 있음
스택 Stacks
팬케이크 차곡차곡 쌓을 때, 방금 만든 따끈따끈한 팬케이크를 그 위에 쌓음
팬케이크 더미를 줄이고 싶을 때는 ?
맨 위에 있는 팬케이크부터 먹어치운다!
즉, 스택 Stack은 배열이 수직으로 쌓여있는 것을 뜻함!
이 배열에선 요소를 추가하거나 삭제할 때,맨 위에서부터 차례대로 할 수 있음
Last in, First out
즉,마지막으로 쌓아올린 팬케이크가 가장 먼저 나간다는 것!
스택의 맨 위에서만 요소를 읽거나, 삭제 가능!
언제 큐 Queues를 쓰고 언제 스택 Stacks을 쓰는가?
웹 브라우저에서 뒤로가기를 누르면 스택 자료구조를 쓰는 것!
ctrl+z 되돌리기 쓰면 이것또한 스택
큐 Queues는 푸쉬알림, 쇼핑몰에서 주문을 처리하는 방식(선착순)