두치의 개발공부

스택(Stack) 본문

자료구조

스택(Stack)

Du_chi 2022. 2. 6. 22:27

1. 스택 구조

 - 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조

 - 후입 선출 (LIFO : Last-In-First-Out)

 - 흔히 컴퓨터에서 가장 많이 쓰는 단축어인 Ctra + Z (실행 취소)의 행위와 똑같다!

https://blog.kakaocdn.net/dn/CSWsW/btq2t9Wc0um/qTQgiVXqjxA0l9weuUKTH1/img.png

 

2. 용어

 - push : 데이터를 스택에 넣기

 - pop : 데이터를 스택에서 빼기

 

3. 추가 설명

 - 스택 구조는 프로세스 실행 구조의 가장 기본적인 개념이다.

 - 프로그램이 실행되면 프로세스가 됨.

 

장점 

 - 구조가 단순하고, 구현이 쉽다.

 - 데이터 저장/읽기 속도가 빠르다.

단점 

 - 

 

4. 구현

Python

stack_list = list();

def push(data):
	stack_list.append(data);
    
def pop():
	data = stack_list[-1];
	del stack_list[-1];
	return data;

 

Javascript

class Stack {
  constructor() {
    this.arr = [];
  }

  push(data) {
    this.arr.push(data);
  }

  pop() {
    if (this.arr.length === 0) {
      return null;
    } else {
      const data = this.arr[-1];
      this.arr.splice(-1, 1);
      return data;
    }
  }
}

const stack = new Stack();
stack.push(1);
stack.push(2);
stack.pop();
stack.push(3);

console.log(stack);

'자료구조' 카테고리의 다른 글

트리(Tree)  (0) 2022.03.25
해쉬 테이블(Hash Table)  (0) 2022.03.12
링크드 리스트(Linked List)  (0) 2022.02.12
큐(Queue)  (0) 2022.01.18
배열  (0) 2022.01.06