일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- scanf
- 이분그래프
- UI한글변경
- 백준
- 연결요소
- string 함수
- 2557
- c++
- vscode
- 구조체와 클래스의 공통점 및 차이점
- Django의 편의성
- correlation coefficient
- iOS14
- 자료구조
- 표준 입출력
- 장고란
- EOF
- getline
- 엑셀
- 시간복잡도
- string 메소드
- Django Nodejs 차이점
- 입/출력
- 알고리즘 공부방법
- 매크로
- 입출력 패턴
- 프레임워크와 라이브러리의 차이
- Django란
- k-eta
- double ended queue
- Today
- Total
목록자료구조 (3)
Storage Gonie
덱의 개념 # 덱이란 - Deque, Double-ended queue의 약자이다. - 양 끝에서만 자료를 넣고 양 끝에서 뺄 수 있는 자료구조 - 큐는 push, pop을 할 수 있는 위치가 한 방향으로 고정되어 있지만, 덱은 앞에서도 push, pop, 뒤에서도 push, pop이 모두 가능하다. - 중요한 자료구조는 맞지만, 덱의 특징을 이용해서 문제를 푸는 경우는 많지 않음. # 직접 구현하기 위해 필요한 요소 - 앞, 뒤에서 삭제 추가 연산이 일어나기 때문에 보통 이중 연결리스트로 구현한다고 함 # 덱의 연산 - push_front() : 덱의 앞에 자료를 넣는 연산 - pop_front() : 덱의 앞에서 자료를 빼는 연산 - push_back() : 덱의 뒤에 자료를 넣는 연산 - pop_b..
큐의 개념 # 큐는 무엇인가 - 한쪽 끝에서만 자료를 넣고 다른 한쪽 끝에서만 뺄 수 있는 자료구조 - 먼저 넣은 것이 가장 먼저 나오기 때문에 First In First Out(FIFO) 라고도 한다. - push와 pop을 진행하다보면 begin변수의 값은 계속 증가만 하기 때문에 배열이 꽉 차지 않은 상황임에도 더이상 데이터를 집어넣을 수 없는 상황이 발생한다. 이를 보완한 방법으로 '순환큐'라는 게 존재하는데 이는 심화과정이므로 나중에 공부하고 일단 아래 부분들만 알아두자. # 직접 구현하기 위해 필요한 요소 - 데이터를 저장할 '배열' (링크드리스트로 구현할 수도 있다고 함) - pop하면 나올 위치를 가리키는 'begin 변수' - push가면 들어갈 위치를 가리키는 'end 변수' # 큐의 ..
스택의 개념 # 스택이란 - 한쪽 끝에서만 자료를 넣고 뺄 수 있는 자료구조 - 마지막으로 넣은 것이 가장 먼저 나오기 때문에 LIFO(Last In First Out) 라고도 한다. - 가장 가까이에 있는 원소끼리 연산을 push, pop하여 해결되는 것은 O(1)이 걸린다는 특징이 있다. 이것이 스택의 특징. # 직접 구현하기 위해 필요한 요소 - 데이터를 저장할 '배열' - 다음에 삽입될 index의 위치, 혹은 들어있는 원소의 개수를 가리키는 'size 변수' # 스택의 연산 - push() : 스택의 맨 위에 자료를 넣음 - pop() : 스택의 맨 위에서 자료를 뺌 - top() : 스택의 맨 위에 위치한 자료를 읽어옴 - empty() : 스택이 비어있는지 아닌지를 알아봄 - size() :..