티스토리 뷰
김희성의 개발자 면접 cs 강의/ 스터디
Queue
- 데이터가 연속적(논리적)으로 저장되어있는 선형 자료구조이다. (메모리상에서 연속적x)
- FIFO 자료구조
- Enqueue (Add) : Queue에 데이터 넣음
- Dequeue (Poll) : Queue에서 데이터 꺼냄
- 시간복잡도
- i번째 데이터 접근 O(N)
- 맨 앞 데이터 접근/삭제 O(1)
- 맨 뒤 데이터 추가 O(1)
- x 라는 데이터 있는지 탐색 O(N)
Deque ( Double Ended Queue)
- 한 방향이 아니라 양쪽 끝에서 데이터 추가하거나 꺼낼 수 있는 자료구조
- FIFO 구조라고 할 수 없음
- 시간복잡도
- i번째 데이터 접근 O(N)
- 맨 앞/뒤 데이터 접근/추가/삭제 O(1)
- x 라는 데이터 있는지 탐색 O(N)
- queue.addFirst() , queue.pollLast() : O(1)
- queue.contains() : O(N)
Stack
- 데이터가 연속적(논리적)으로 연결되어있는 선형 자료구조
- LIFO
- push : stack 에 데이터 넣음
- pop : stack 에서 데이터 꺼냄
- 시간복잡도
- i 번째 데이터 접근 O(N)
- 맨 위(뒤) 데이터에 접근/삭제 O(1)
- x 데이터 탐색 O(N)
- stack메모리를 초과하면 stack overflow error 발생
- 비어있는 stack 에 pop하면 empty stack error 발생
- 대표적으로 프로세스 메모리 영역에 사용되며, 해당 영역을 stack영역 이라 부른다.
'망공부 > CS' 카테고리의 다른 글
| [자료구조] 알고리즘 (2) | 2023.11.03 |
|---|---|
| [자료구조] HashTable (HashMap, unordered_map(set)) - 2 (2) | 2023.10.31 |
| [자료구조] Priority Queue (0) | 2023.09.17 |
| [자료구조] HashTable (HashMap, unordered_map(set)) (0) | 2023.09.14 |
| [자료구조] Array, ArrayList (0) | 2023.09.11 |
- Total
- Today
- Yesterday
- 프론트엔드
- Nest
- 자바
- 코딩
- 코딩테스트
- 문자열출력
- 스프링시큐리티
- 알고리즘
- 웹개발
- 인텔리제이
- hash
- 코딩공부
- 자료구조
- HashMap
- codingtest
- Hashtable
- coding
- NestJS
- 시간복잡도
- Annotation
- 코테
- intellij
- Java
- programmers
- 네스트
- 스프링부트
- 자바공부
- 프로그래머스
- springboot
- Spring
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |