Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ColorGradingLutPass
- 가상 바이트
- 메모리 누수
- Specular
- Toon Shader
- ASW(Application SpaceWarp)
- Cell Look
- 작업 집합
- VR
- Virtual Byte
- 벡터
- Rim Light
- C언어
- 게임 수학
- Cartoon Rendering
- 프로그래밍 기초
- Windows Build
- Cell Shader
- Private Bytes
- 3d
- URP로 변경
- working set
- Three(Two) Tone Shading
- OculusMotionVectorPass
- URP
- AppSW
- 개인 바이트
Archives
- Today
- Total
WinCNT
힙 정렬(Heap Sort)과 B Tree 본문
힙 정렬(Heap sort)이란
-
원소들을 전부 힙에 삽입한다.
-
힙의 루트에 있는 값은 남은 수들 중에서 최솟값(혹은 최댓값)을 가지므로 루트를 출력하고 힙에서 제거한다.
-
힙이 빌 때까지 2의 과정을 반복한다.
B Tree
B Tree는 이진 트리를 확장한 것으로 이진 트리는 하나의 노드가 가질 수 있는 자식 노드의 수가 최대 2개지만
B-tree는 2개 이상을 가질 수 있다
모든 노드에 있는 값들은 정렬되어 있는 상태이며 order를 나타내는 숫자인 m을 가질 수 있다
이 B-tree 를 B-tree of order m 이라고 한다
B-tree of order m은 다음과 같은 조건을 만족 시킨다.
-
모든 노드가 가질 수 있는 자식 노드의 최대 수는 m이다.
-
루트 노드를 제외한 내부 노드 들은 적어도 [m/2]개의 자식 노드를 가진다.
-
루트 노드는 최소한 두개의 자식 노드를 가진다.
-
k개의 자식 노드를 가진 내부 노드들은 k-1개의 값을 가지고 있다
-
모든 리프 노드들의 높이는 같다
-
중복 값이 없다
데이터베이스와 파일 시스템에서 널리 사용되는 트리 자료구조의 일종이다
(B-tree의 확장형인 B+ tree를 쓰기도 함)
메모리가 파일 시스템에 Access할 때, 그 횟수를 줄이기 위해서 사용되기도 한다
(많은 파일을 인덱싱해두면 접근할 때의 시간을 줄일 수 있음)
파일들을 인덱싱할 때, B Tree를 쓰게 되면
그냥 트리 구조보다 Depth를 줄일 수 있다는 이점이 있다
데이터베이스의 정보에 대해서 테이블의 특정 column에 대해서 인덱싱을 하면
그 column에 대한 인덱스 테이블이 생긴다
그 후, 그 테이블에 대해서 해당 column을 조건으로 select할 때
먼저 인덱스 테이블을 참조하므로 퍼포먼스를 높일 수 있다
참고 사이트
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
https://www.geeksforgeeks.org/heap-sort/?ref=lbp
SSS
'게임 프로그래밍(학습 내용 정리) > 자료구조와 알고리즘' 카테고리의 다른 글
페이지 교체와 알고리즘 (0) | 2022.01.03 |
---|---|
B Tree와 Red-Black Tree (0) | 2021.12.27 |
트리(Tree)와 자료 구조의 힙(Heap) (0) | 2021.12.20 |
탐색과 정렬 알고리즘 (0) | 2021.12.13 |
자료구조와 알고리즘 (0) | 2021.12.06 |