Data Structure

황순은·2021년 4월 22일
0

복습

목록 보기
1/3

자료구조(Data Structure)란?

자료구조란 여러 데이터들의 묶음을 어떻게 저장할 것이고, 사용할 것인지 정의한 것입니다.

  • 자료들이 잘 분석 및 정리되고, 활용되어야만 의미가 있다.
  • 대부분의 자료구조는 특정한 상황에 문제를 해결하는데 특화되어 있다.

자료를 마구잡이로 한군데, 혹은 여러 군데에 저장해 두는 것은 비효율적이기 때문에 하나의 구조에 정리하여 활용하는 것이 효율적임. 그리고 많은 자료구조를 알아둔다면 특정한 상황에서 적합한 자료구조를 사용하여 문제를 해결할 수 있다.

Stack

스택은 한쪽으로만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out)형식의 자료구조이다.

let data = [];
data.push('Fast Walker');
data.push('Nomal Walker');
data.push('Slow Walker');  // ['Fast Walker', 'Nomal Walker', 'Slow Walker']
let out = data.pop();
console.log(out);   // 'Slow Walker'
console.log(data);  // ['Fast Walker', 'Nomal Walker']

세친구가 정오에만나 점심을 먹기로 했다. 가장 빠르게 온 친구는 나머지 두 친구가 오기를 기다리고, 두 친구가 점심을 다 먹을때까지 기다렸다가 두친구가 식당을 나가면 비로소 식당을 나갈 수 있다. (뭔가 비합리적이다...)

프링글스의 마지막 한조각은 언제먹을 수 있을까...

  • 공장에서 첫번째로 들어간 마지막 조각은 마지막에 먹을 수 있다.
  • 인터넷 홈페이지 뒤로가기, 앞으로가기는 스택으로 구현이 가능하다.

Queue

큐는 자료를 넣는곳, 빼는곳이 따로있는 FIFO(First In First Out)형식의 자료구조이다.

let data = [];
data.push('Fast Walker');
data.push('Nomal Walker');
data.push('Slow Walker');  // ['Fast Walker', 'Nomal Walker', 'Slow Walker']
let out = data.shift();
console.log(out);   // 'First Walker'
console.log(data);  // ['Nomal Walker', 'Slow Walker']

이건좀 합리적인것 같다^^;

언제 들어가노...

  • 새치기 금지.
  • 컴퓨터에서 프린트할 내용을 프린터에 전달하는데, 먼저 전달한 내용이 출력된다.
profile
안녕하세요.

0개의 댓글