스택과 큐
2023. 3. 2. 23:34ㆍAlgorithm
자료구조 중 스택과 큐는 많이 들어보았지만,
항상 뭐가 뭔지 헷갈렸다.
이번 기회에 제대로 확실히 정리해보고자 한다!
일단 자료구조란 배열처럼 데이터를 저장하고 관리할 수 있는 것이다.
스택과 큐는 데이터를 어떻게 저장하고 관리하는지 알아보자 !
- 스택은 후입선출
js에서 push()는 삽입, pop()은 삭제 함수이다.
ex) 인터넷의 뒤로가기(그동안 쌓였던 것들의 뒷부분 부터 차례로 뒤로가기 됨)
- 큐는 선입선출
queue에 삽입하는 것은 enqueue라 하고, 삭제하는 것은 dequeue라고 한다.
마찬가지로 push()는 삽입, shift()는 가장 앞의 것 삭제 함수이다.
ex) 은행창구 번호표(들어온 순서대로 나감)
시간복잡도에 대해 이야기 하자면
push()와 pop()은 O(1)의 시간복잡도를 가진다.
반면에 shift()와 unshift()(shift()의 반대로 맨 앞에 삽입)은 O(n)의 시간 복잡도를 가진다.
왜냐하면, shift()로 맨 앞의 값을 빼면 뒤의 값들이 한 칸씩 땡겨야 하기 때문
반면에 pop과 push는 뒤에서 위치 이동 필요없이 삽입 삭제가 가능하다.
'Algorithm' 카테고리의 다른 글
JavaScript 템플릿 리터럴(백틱``, 달러${}) (0) | 2023.03.09 |
---|---|
[프로그래머스] 피로도 (0) | 2023.03.03 |
[프로그래머스] 프린터 (0) | 2023.03.02 |
[프로그래머스] 베스트앨범 (0) | 2023.03.02 |
[프로그래머스] 폰켓몬 (0) | 2023.03.02 |