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
- UnrealEngine5
- RVO
- algorithm
- NRVO
- 팰린드롬 만들기
- winapi
- baekjoon
- 티스토리챌린지
- C
- Frustum
- 1563
- 언리얼엔진5
- GeeksForGeeks
- const
- 오블완
- Unreal Engine5
- softeer
- 2294
- 줄 세우기
- 백준
- DirectX11
- 프로그래머스
- C++
- IFileDialog
- RootMotion
- directx
- Programmers
- UnrealEngine4
- DeferredRendering
- UE5
Archives
- Today
- Total
목록퀵정렬 (1)
Game Develop
MergeSort와 QuickSort
병합정렬과 퀵정렬 둘 다 시간복잡도는 nlogn으로 알려져 있다. 다만, 퀵정렬같은경우 최악의 경우 n^2이 되는 경우가 발생하지만 병합정렬은 항시 nlogn을 보장해준다. 물론 병합정렬은 추가적인 메모리공간을 소비한다는 단점이 있긴 하다.(배열기반의 정렬이라면) 대신 링크드리스트같은 컨테이너의 정렬이라면 추가적인 메모리공간마저 소비하지 않기 때문에 굉장히 효율적이다. 병합정렬이란거 자체가, 쪼갠다음 다시 조합하는건데 배열기반의 경우 조합하기위해서 새로운 공간에다가 조합하는거고 링크드리스트는 각각의 노드가 독립적이기 때문에(주소만 안잃어버린다면) 값 비교후 포인터만 머리와 꼬리에 연결해주면 되기 때문이다. 그리고 퀵정렬은 불안정한 정렬에 속한다. 정렬을 했을 때 중복된 값이 처음의 배열과 불일치하는 경우..
Algorithm/Algorithm
2022. 12. 27. 06:02