1. 스택과 큐
https://www.youtube.com/watch?v=ktvhRSRohR4
▶ 스택(Stack) : 밑이 막힌 상자
- LIFO구조. Last in First Out / push(저장) & pop(추출) 방식
- 배열이 적합 *순차적인 추가/삭제
▶ 큐(Queue) : 양끝이 뚫린 상자(포장마차의 종이컵 빼는 것과 같다)
- FIFO구조. First in First Out / otter(저장, 제공한다) & poll(추출)
- 링크드리스트가 적합 *비순차적인 추가/삭제
■ 스택의 메소드 **JAVA에서 스택은 클래스 (객체생성 가능)
push(Object) : Object --- Stack객체에 item을 저장
pop( ) : Object --- 맨 위의 것 꺼내기
empty( ) : boolean --- 비어있는지
peek( ) : Object --- 맨 위의 것 읽기 (꺼내지X)
search(Object) : int --- 맨 위에서 1부터시작해서 순서 반환 *못찾으면 -1 반환
■ 큐의 메소드 **JAVA에서 큐는 인터페이스 (객체생성 불가능)
offer(Object) : boolean --- Queue 객체에 item을 저장(예외 발생X)
poll( ) : Object --- 객체를 꺼내서 반환(예외 발생X)
peek( ) : Object --- 삭제 없이 요소 읽음(꺼내지X)
add(Object) : boolean --- Queue 객체에 item을 저장(예외 발생O)
remove() : Object --- 객체를 꺼내서 반환(예외 발생O)
[ 큐 사용법] 1. 큐를 직접 구현 2. 큐를 구현한 클래스를 사용 >> Java API 중 Queue를 구현한 목록 확인 (LinkedList도 큐 구현) Queue q = new LinkedList(); |
'Computer Science > Algorithm' 카테고리의 다른 글
[자료구조] 스택 (0) | 2022.04.18 |
---|---|
[검색] 선형탐색과 이진탐색 (0) | 2022.04.12 |
[자바의 정석] ArrayList/LinkedList (0) | 2022.03.29 |
[자바의 정석] 컬렉션 프레임웍(Collection Framework) 기초 (0) | 2022.03.29 |
[정렬] 버블정렬,선택정렬,삽입정렬, 셸 정렬 (0) | 2022.03.19 |