1. 스택(Stack) 이란?
한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) or FILO(First In Last Out) 형식의 자료구조
장점:
- 구현이 쉽다.
- 원하는 데이터의 접근 속도가 빠르다.
단점:
- 데이터의 최대 개수를 미리 정해야 한다.
- 추가/삭제가 어렵다.
2. 스택의 활용
- 재귀 알고리즘
- 실행 취소
- 역순 문자역 만들기
- 수식의 괄호 검사
- 미로 찾기
- 컴퓨터 메모리 관리 등
3. 구현을 위한 의사코드(Pseudo Code)
1. 데이터를 담을 수 있는 객체 생성
2. 데이터의 추가/삭제 등 스택구조에 맞는 메소드함수를 만든다.
2-1. push(date) : 데이터가 추가되는 순서에 따라 다음 키값을 지정해준다.
2-2. pop() : 스택의 마지막 값을 가져와 삭제한다.
2-3. peek() : 스택의 마지막 값을 가져온다.
2-4. clear() : 스택을 전체를 비운다.(스택내 전체 데이터 삭제)
2-5. isEmpty() : 스택내 데이터가 비어 있는지 확인한다.
2-6. length() : 스택에 들어있는 데이터의 수를 가져온다.
4. 참고자료(References)
https://monsieursongsong.tistory.com/4
https://monsieursongsong.tistory.com/7
https://gmlwjd9405.github.io/2018/08/03/data-structure-stack.html
https://blog.naver.com/PostView.nhn?blogId=javaking75&logNo=220226369586&categoryNo=71&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView&userTopListOpen=true&userTopListCount=5&userTopListManageOpen=false&userTopListCurrentPage=1
https://goodgid.github.io/Data-Structure-Pros-And-Cons/
'Programming > JavaScript tips' 카테고리의 다른 글
Linked List Data Structure(링크드 리스트 자료구조) (0) | 2019.07.25 |
---|---|
Queue Data Structure(큐 자료구조) (0) | 2019.07.25 |
자료구조의 이해 (0) | 2019.07.25 |
조건문(if...statement)과 함수(function) (0) | 2019.05.02 |
변수(variable)와 타입(type) (0) | 2019.05.01 |