Data Structure | 스택 (Stack)

엄문주·2021년 1월 22일
4

Data Structure

목록 보기
1/1

Intro 🌼

  • 비전공자이기 때문에, 개발을 하는 입장에서 당연히 알아야 하는 것들을 놓치고 가는 경우가 많이 있는 것 같습니다.자바스크립트 를 공부하고 배열, 객체 를 사용할 때에는 자료구조 에 대해서는 생각해보지 않았던 것 같습니다. 그냥 있으니깐, 다른사람들이 사용하니깐, 책에 이렇게 사용하라고 하니깐, 이러한 이유로 이러한 개념이 왜 생겨나고 왜 사용되고 있는지에 대해서는 깊이 있게 생각해 보지 않았던 것 같습니다. 하지만 리액트 를 공부하면서 제 스스로 벽을 느끼면서 다시 자바스크립트 를 깊게 공부하는 것 처럼, 결국에는 그 근원으로 접근하게 되는 것 같습니다.

스택(Stack)이란? 🧐

  • 스택(Stack) 은 자료구조의 한 종류로, 데이터 처리 방식입니다. LIFO 로도 많이들 알고 있는데, Last In First Out 즉, 나중에 들어온 것이, 가장 먼져 나간다.

  • 우리가 편의점에 들어가서 과자를 구매한다고 했을 때, 우리 앞에 보이는 과자는 알바생이 제일 마지막에 진열한 상품일거에요. 그리고 안쪽 끝에 있는 과자는 맨 처음으로 진열한 과자이구요. 근데, 고객은 가장 늦게 진열한 과자부터 고르게 되죠.


스택(Stack)을 어떻게? 🙋‍♂️

  • 스택(Stack) 을 구현하기 위해서는 배열리스트 2가지의 방법이 있습니다. 배열리스트 의 차이점을 먼져 알아야 좀 더 쉽게 이해할 수 있을 것 같네요.

  • 배열리스트 는 정확히 말을 하면 정적인 배열, 동적인 배열 이라고 해요. 무슨말일까요?

  • 데이터의 양에 따라서 공간의 크기가 줄어들었다 늘어났다를 자유롭게 하는 것이 동적인 배열 을 의미합니다.

  • 반면에 정적인 배열 은 미리 들어올 데이터의 양 을 미리 정해서 그것 만큼만 처리하겠다는 것을 의미합니다.

  • 더 상세한 설명은 다시 한 번 다루도록 하겠습니다.


스택(Stack)의 기능 ⚙️

  • Push : 데이터를 공간에 넣는 명령어 입니다.
  • Pop : 데이터를 꺼내는 명령어 입니다. 이 때, 최상단, Last 제일 마지막에 들어온 데이터를 꺼내는 것을 의미합니다.
  • Peak : 제일 마지막에 들어간 데이터를 의미해요 즉, Last 데이터를 의미합니다.

끝으로 😊

  • 자료구조 는 코딩을 하면 할 수록, 중요성을 더... 깨닫게 되는 것 같습니다.
profile
세상과 소통을 꿈꾸는 개발자

0개의 댓글