일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 액티비티 ANR
- 백준 알고리즘
- 알고리즘
- 깊이우선탐색
- 안드로이드 DBMS
- SQLite와 Realm 차이점
- 너비우선탐색
- application not responding
- db
- 소수 알고리즘
- android support
- java
- BFS
- 안드로이드 AdapterView
- 안드로이드
- 백준
- 컬렉션
- 안드로이드 ANR
- android adapterview
- Github
- support fragment
- android fragment
- 소수
- 자바 컬렉션
- 자료구조
- oracle
- 안드로이드 파일
- support 라이브러리
- anr
- DFS
Archives
- Today
- Total
목록퀵 정렬 알고리즘 (1)
밍의 기록들😉
[정렬] 퀵 정렬 (Quick Sort) - 개념, 시간복잡도, 구현
퀵 정렬 개념원소(pivot(기둥/중심))를 하나 정하여, 해당 원소보다 작은 수들과 큰 수들로 나눈다. 1. pivot의 위치는 확정된 것2. pivot의 왼쪽과 오른쪽의 자리는 바뀌지 않는다. (= 왼쪽과 오른쪽을 따로 정렬해도 된다.) 퀵 정렬의 시간복잡도재귀적으로 구해야 한다.1. pivot을 정한다. = O(1)2. 작거나 같은 값과 큰 값을 분류한다. = O(n)3. 각각을 퀵정렬 한다. * T(n) = n개의 숫자를 퀵 정렬로 정렬하는데 걸리는 시간* T(n) = T(left) + T(right) + O(n) // 점화식 // left = pivot보다 작거나 같은 원소의 개수 // right = pivot보다 큰 원소의 개수 * pivot이 원소의 개수를 절반으로 나눈다고 가정하자* T(n..
자료구조, 알고리즘/기본다지기
2018. 9. 10. 16:56