일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- cyworld
- react native ios 기기 연결
- GitHub
- react native accessible
- CSS
- react native mac
- Expo
- javascript
- 벡터와 리스트의 차이
- stencil buffer
- 스탠실 버퍼 튜토리얼
- 리액트 네이티브 설치 오류
- react-native
- react
- c++ 정보은닉
- node
- 싸이월드
- unity stencil buffer
- html
- c++ using
- 리액트 네이티브 맥
- react native 타입스크립트
- 스탠실 버퍼 사용
- C++
- react native typescript
- react native typescript navigate
- react native
- 스탠실 버퍼 시작
- node.js
- react native typescript navigation
Archives
- Today
- Total
혀니의 이거저거 뿌시기
가장 빠른 정렬 알고리즘과 그렇게 생각하는 이유 본문
728x90
알고리즘] 퀵 정렬(Quick Sort)에 대한 이해 (tistory.com)
알고리즘] 퀵 정렬(Quick Sort)에 대한 이해
소개 정렬 알고리즘 중 대표적인 알고리즘인 퀵 정렬을 소개하고자 한다. 퀵 정렬을 소개하기에 앞서, 대표적인 알고리즘들의 시간/공간 복잡도 표를 확인하면 다음과 같다. 평균 최악 메모리
readerr.tistory.com
퀵 정렬은 이름 그대로 '빠른 알고리즘'이라는 의미인데, 실제로 위 알고리즘들 중에서는 일반적으로 가장 빠른 알고리즘이라고 한다.
여기서 약간 의아할 수 있는 부분이 '병합, 힙 정렬이 최악의 경우에 퀵 정렬보다 시간 복잡도가 높은데, 어떻게 가장 빠른 알고리즘이지?'라는 생각이 들 수 있는데, 그 이유는 다음과 같다.
알고리즘을 공부를 여기까지 하는 분들이라면 모두 빅오 표기법을 알고 있을 거라고 생각한다.
그리고 빅오 표기법을 배웠을 당시 '최고차항을 제외한 나머지는 무시한다'라는 개념을 기억하고 있을 것이다.
따라서 같은 O(N)이어도 '300 * N'일 수도 있고, '100 * N'일 수도 있다는 이야기다.
퀵 정렬은 병합 정렬과 힙 정렬보다 평균적으로 n log n에 곱해지는 수가 적어 결과적으로 평균적인 연산, 즉, 실제 연산 속도가 빠르다고 알려져 있기 때문에 병합 정렬과 퀵 정렬보다 빠르다고 알려져 있는 것이다.
728x90
'CS > 자료구조 & 알고리즘' 카테고리의 다른 글
레드블랙트리 (0) | 2023.12.16 |
---|---|
map과 hashMap차이 (0) | 2023.12.16 |
자료구조 장단점(C++) (0) | 2023.10.10 |
자료구조 장단점 (C# - 유니티) (0) | 2023.10.10 |
정렬(선택,버블,삽입,병합,퀵,힙) / 무엇이 가장 빠르고 왜 빠른가 (동작과정) (0) | 2023.09.27 |