[스택]
(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) 장점 - 가장 잘 활용되는 것이 어떤 때인지 내용 올리기
- List(ArrayList, LinkedList) 장점 - 가장 잘 활용되는 것이 어떤 때인지 내용 올리기
'기타 > 자료구조, 알고리즘' 카테고리의 다른 글
[자료구조 알고리즘] 큐 - ADT, Array/Circular/LinkedQueue 구현 (0) | 2017.09.29 |
---|---|
[자료구조, 알고리즘] 스택 - Array, Linked 기반 구현(설명, 구현 수정함) (0) | 2017.09.22 |
[자료구조, 알고리즘] 리스트#4 - DoublyLinkedList (0) | 2017.09.15 |
[자료구조, 알고리즘] 리스트#3 - js로 CircularLinkedList 구현, 자바로 생각해보기 (0) | 2017.09.06 |
[자료구조, 알고리즘] 리스트#2 - LinkedList 구현, syntax + develop tip (0) | 2017.09.01 |
댓글