자료구조에 대한 이해는 유튜브에 검색하셔서 이미지, 영상화 된 자료를 보시면서 공부하시면 효율이 좋습니다👍

각 자료구조의 시간복잡도는 위의 그림으로 요약합니다
우선순위 ⇒ 스택.큐 / 이진탐색트리 / 그래프 / 마지막 힙
Stack ( 스택 )
한 쪽 끝에서만 자료를 넣고 뺄 수 있는 자료구조
주요 메서드
- pop() : 맨 위의 요소를 제거
- push(el) : 맨 위에 el 를 추가
- peek() : 맨 위의 요소를 확인
- isEmpty : 스택이 비어있음을 확인
쓸모
- 재귀 알고리즘
재귀함수가 실행되면 기존의 실행 컨텍스트가 함수 콜 스택에 쌓인다. 처음 실행된 컨텍스트가 맨 마지막에 실행되고, 맨 마지막에 실행된 컨텍스트가 가장 먼저 실행된다
- 웹 브라우저 방문기록
우리가 자주 사용하는 뒤로가기 버튼은 스택에 쌓인 방문기록 데이터를 이용해서 구현할 수 있다
- CLI 명령어 이력
우리가 방향키 위 아래로 움직이며 사용했던 명령어를 볼 수 있는데 스택에 사용한 명령어들을 쌓아두기 때문이다
- 역순 문자열 만들기
처음이 마지막, 마지막이 처음으로 나오기때문에 문자열을 모드 스택에 쌓고
pop() 으로 문자열이 만들면 좌우가 반전된 문자열을 만들 수 있다
- 수식의 괄호 검사
전문 용어로 VPS ( Valid Parenthesis String ) 판단할 때 이용한다. 열린 괄호와 닫힌 괄호를 코드 상으로 파악해서 괄호의 위치나 갯수가 맞는지 스택을 통해 파악가능하다
- 후위 표기법 계산
오늘 체크포인트에서 했던 것처럼 ( 전위 : +AB, 중위 : A + B, 후위 : AB+ ) 계산법에서 스택을 사용한다.
undo , 계산기 수식 계산