생각을 개발하자, 박진형

[자료구조, 알고리즘] 스택 #1 - 소개, ADT, 구현 전 준비 본문

Data structure & Algorithm/data structure_algorithm

[자료구조, 알고리즘] 스택 #1 - 소개, ADT, 구현 전 준비

imjinbro imjinbro 2017.09.17 23:50
[스택]
(1) LIFO : Last-In First-Out, 가장 먼저 들어온 데이터가 가장 마지막에 나가는 구조


(2) push - pop or peek
- push : 데이터 푸쉬
- pop : 데이터를 꺼내는 것(삭제 개념까지), 마지막에 푸쉬된 데이터
- peek : 마지막에 푸쉬된 데이터 조회

(3) 응용앱보다 시스템 레벨에서 많이 사용 
(4) 스택을 활용하는 예시 : 계산기 - 스택 구현한 뒤 계산기도 만들어볼 예정
(5) ADT
- init : 스택 초기화, 생성자
- isEmpty : 스택에 저장된 데이터 있는지 체크, TRUE(1) or FALSE(0)
- push : 데이터 푸쉬, 반환값 없음
- pop : 데이터 꺼냄, 반환값 - 스택에서 제거되는 데이터, 내부 동작 전 isEmpty로 체크
- peek : 마지막 푸쉬 데이터 조회, 반환값 - 가장 최근 데이터, 내부 동작 전 isEmpty로 체크

(6) 구현 : 구현하는 것은 쉬움, 계산기가 어렵다는데…. 도전
- 배열 사용한 구현
- 링크드리스트 사용 구현
=> 선형자료구조 : 배열과 연결리스트로 구현, 선 형태로 일렬로 구현


[자료구조 계획]
- 배열과 링크드리스트 각각 구현해서 각각 포스팅

- 계산기 구현해보고 한꺼번에 정리한 내용 올리기
- List(ArrayList, LinkedList) 장점 - 가장 잘 활용되는 것이 어떤 때인지 내용 올리기