일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 프로그래밍
- 슬픔
- dynamic programming
- 2021
- 자작시
- dp
- 다이나믹프로그래밍
- C++
- 파이썬 강의
- BOJ
- 라즈베리파이 모니터
- 철학
- python 강좌
- 인생
- 2020
- 공부
- mmdetection
- python
- 알고리즘
- 강의
- 강좌
- 자살
- 2024
- it
- 파이썬
- 계획
- mmcv
- python 강의
- 백준
- 파이썬 강좌
Archives
- Today
- Total
목록
Quick Sort
(2)
반응형
반응형
Stargazer
[알고리즘] Inplace-Quick sort 이론 간략 정리
추가 공간을 일반 퀵소트보다 줄이는 알고리즘 추가 공간: $O(n)$->$O(1)$( 재귀적일때는 $O(lgn)$을 사용) 전략은 이전 퀵소트와 같이, 분할 정복을 이용할 것이다. 다만 공간을 추가적으로 사용하지않고, 해야하므로, 요소끼리 스위칭하는 방식으로 해야한다. In-place Quick sort 수도코드: Algorithm inPlaceQuickSort S, l, r Input sequence S , ranks l and r Output sequence S with the elements of rank between l and r rearranged in increasing order if l >= r return i
Undergraudate basics(학부생 기초)/자료구조, 알고리즘
2022. 3. 30. 23:31
[알고리즘] Quick sort(퀵소트) 이론 정리
특징: Worst case에 대해서는 $O(n^2)$ 시간이지만, Average case 에 대해서는 $O(n\log n)$ 시간이 걸린다. 전략: Divide and Conquer(분할 정복): 큰 문제를 여러개의 작은 문제로 분할하여 재귀적으로 처리 후 합쳐서 해결하는 방법 *단계: 1. 분할: 작게 문제를 나눈다.(이때, 나눈 것도 해결전략이 동일한 문제여야한다.) 2. 정복: 재귀적으로 계속 작게 나누면서, 문제를 해결한다.(문제를 해결할 수 있는 가장 작은 단위 까지 나눔) 3. 조합: 해결한 문제들을 조합하여 원래 input에 대한 결과값을 리턴한다. * 분할 정복 알고리즘 수도 코드: solve(I) n=size(I) if(n
Undergraudate basics(학부생 기초)/자료구조, 알고리즘
2022. 3. 29. 01:10