JavaScript #19

날림·2021년 10월 8일

js/node

목록 보기
25/25

Stack

데이터(data)를 순서대로 쌓는 자료구조

후입선출(後入先出/Last In First Out—LIFO) 특성을 가지는 자료구조(Data Structure)
나무위키

가장 나중에 들어온 (Last In) 데이터를
가장 먼저 뺀다 (First Out)

예시들

  1. 긴 통에 물건을 넣고나서 제일 먼저 꺼내게 되는 것은 마지막에 넣은 것
  2. 탄창에 마지막으로 넣은 총알이 제일 먼저 발사 된다
  3. 막힌 골목길에 가장 먼저 들어간 자동차는 가장 나중에 나온다

해보기 - Visualgo

실제 활용?

  • 브라우저의 뒤로 가기, 앞으로 가기 기능

Queue

데이터(data)를 순서대로 처리하는 자료구조

선입선출(先入先出/ First In First Out; FIFO) 특성을 가지는 자료구조(Data Structure)
나무위키

가장 먼저 들어온 (First In) 데이터를
가장 먼저 뺀다 (First Out)

순서대로 처리할 일이라면 활용한다
(매우 많음)

예시) 문서 여러 개를 순서대로 출력할 때

  1. 문서를 작성하고 출력 버튼을 누르면
  2. 해당 문서는 인쇄 작업 Queue에 들어감
  3. 프린터는 인쇄 작업 Queue에 들어온 문서를 순서대로 인쇄

컴퓨터 - Queue에 하나씩 들어옴 - Queue에 들어온 문서를 순서대로 인쇄

문제는 속도 차이
컴퓨터는 인쇄할 내용을 빠르게 처리해서 프린터로 보내주지만
프린터가 실제 인쇄하는 속도는 느리다

= 컴퓨터는 인쇄용 데이터를 만들어 Queue에 저장하고 다른 작업 수행
= 프린터는 Queue에서 순서대로 인쇄

해보기 - Visualgo

profile
항상배우기

0개의 댓글