일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Data Structure
- 포인터
- Houdini
- C언어 포인터
- Unity
- jupyter lab
- 구조체
- 유니티
- c# 추상 클래스
- jupyter
- docker
- c# winform
- dart 언어
- c언어
- c#
- Python
- C++
- Flutter
- vim
- Algorithm
- HTML
- git
- github
- 플러터
- 도커
- c# 윈폼
- gitlab
- 다트 언어
- C# delegate
- 깃
Archives
- Today
- Total
목록파이썬 퀵 정렬 (1)
nomad-programmer

알고리즘 중에 분할 정복 알고리즘(Divide and Conquer Algorithm)이 있다. 어려운 문제를 작게 쪼개서(divide) 해결해 나가는(conquer) 것을 말한다. 대표적인 분할 정복 알고리즘인 퀵 정렬에 대해 알아보자. pivot은 정렬되지 않은 리스트에서 가운데 위치한 인덱스의 데이터를 말한다. 주의할 점은 인덱스가 아니라 데이터라는 것이다. start는 첫 번째 인덱스이고 end는 미자막 인덱스이다. left와 right는 각각 start와 end를 가리킨다. left 인덱스는 오른쪽으로 이동하고 right 인덱스는 왼쪽으로 이동한다. 목적은 pivot을 기준으로 왼쪽은 pivot보다 작은 데이터가 모이고, 오른쪽은 큰 데이터가 모이도록 만드는 것이다. 그렇게 하려면 left는 오..
Programming/Algorithm
2021. 2. 10. 00:32