스택ADT는 후입선출(마지막에 들어간것이 가장 먼저 나온다)-LIFO(Last-In First-Out)순서를 따르는 데이터구조로, top이라 불리는 위치에서 삽입과 삭제가 행해진다
스택ADT메소드
1) 주요메소드
push(e) - 원소e를 삽입
element pop() - 가장 나중에 삽입된 원소를 삭제하여 반환
2) 보조메소드
element top() - 가장 나중에 삽입된 원소를 삭제하지 않고 반환
integer size() - 스택에 저장된 원소의 수를 반환
boolean isEmpty() - 스택이 비어 있는지 여부를 반환
iterator elements() - 스택 원소 전체를 반환
3) 예외메소드
emptyStackException() - 비어 있는 스택에 대해 pop이나 top을 시도할 경우 사용
fullStackException() - 만원 스택에 push를 시도할 경우 사용
순차스택(배열)과 연결스택(연결리스트)의 성능
| 모든 각각의 작업 |
순차스택 |
O(1) |
연결스택 |
O(1) |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
큐ADT는 선입선출(먼저 들어간것이 가장 먼저 나온다)-FIFO(First-In First-Out)순서를 따르는 데이터구조로, rear라 불리는 위치에서 삽입과 front라 불리는 위치에서 삭제가 행해진다
큐ADT메소드
1) 주요메소드
enqueue(e) - 큐의 rear에 원소e를 삽입
element dequeue() - 큐의 front에서 원소를 삭제하여 반환
2) 보조메소드
element front() - 큐의 front에 있는 원소를 삭제하지 않고 반환
integer size() - 큐에 저장된 원소의 수를 반환
boolean isEmpty() - 큐가 비어 있는지 여부를 반환
iterator elements() - 큐 원소 전체를 반환
3) 예외메소드
emptyQueueException() - 비어 있는 큐에 대해 dequeue 또는 front를 시도할 경우 사용
fullQueueException() - 만원 큐에 대해 enqueue를 시도할 경우 사용
순차큐 = 원형큐(배열)와 연결큐(연결리스트)의 성능
모든 각각의 작업 |
|
순차큐 = 원형큐 |
O(1) |
연결큐 |
O(1) |
출처
제목: 알고리즘 원리와 응용
저자: 국형준
출판사: 21세기사
'알고리즘' 카테고리의 다른 글
[알고리즘] 기본 추상자료형(5) - 예제(스택ADT) (2) | 2018.11.29 |
---|---|
[알고리즘] 기본 추상자료형(4) - 예제(스택ADT) (4) | 2018.11.28 |
[알고리즘] 기본 추상자료형(2) - 예제(집합ADT) (0) | 2018.11.27 |
[알고리즘] 기본 추상자료형(1) - 설명(리스트ADT, 집합ADT) (2) | 2018.11.26 |
[알고리즘] 기초 데이터구조(2) - 예제 (0) | 2018.11.26 |