자료구조란 여러 데이터들의 묶음을 어떻게 저장할 것이고, 사용할 것인지 정의한 것입니다.
자료를 마구잡이로 한군데, 혹은 여러 군데에 저장해 두는 것은 비효율적이기 때문에 하나의 구조에 정리하여 활용하는 것이 효율적임. 그리고 많은 자료구조를 알아둔다면 특정한 상황에서 적합한 자료구조를 사용하여 문제를 해결할 수 있다.
스택은 한쪽으로만 자료를 넣고 뺄 수 있는 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']
세친구가 정오에만나 점심을 먹기로 했다. 가장 빠르게 온 친구는 나머지 두 친구가 오기를 기다리고, 두 친구가 점심을 다 먹을때까지 기다렸다가 두친구가 식당을 나가면 비로소 식당을 나갈 수 있다. (뭔가 비합리적이다...)
프링글스의 마지막 한조각은 언제먹을 수 있을까...
큐는 자료를 넣는곳, 빼는곳이 따로있는 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']
이건좀 합리적인것 같다^^;
언제 들어가노...