일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- WinAPI
- 라인트레이서
- 통계학
- C언어
- 아두이노
- arduino compiler
- list
- priority_queue
- directx
- 자료구조
- set
- 수광 소자
- stl
- 아두이노 컴파일러
- html
- 운영체제
- Stack
- map
- 시스템프로그래밍
- Arduino
- 아두이노 소스
- vector
- c++
- queue
- Visual Micro
- Array
- Deque
- 컴퓨터 그래픽스
- LineTracer
- Algorithm
- Today
- Total
목록Programming/Algorithm (3)
Kim's Programming
버블정렬은 인접한 자료 2개를 비교하여 정렬해가는 정렬 알고리즘입니다. 버블정렬은 정렬될때 데이터들이 움직이는 모습이 거품이 올라오는거 같다고 하여 버블 정렬이라 하며 시간복잡도는 BigO(n^2)인 알고리즘입니다. 버블 정렬은 다음과 같은 과정을 거치게 됩니다. 제일 왼쪽부터 값을 비교하여 왼쪽이 큰 경우 오른쪽의 값과 교체합니다 모든 자료들에 대하여 전부 수행반복합니다(1pass) 정렬이 끝날때 까지 1,2번을 반복 수행합니다. 또한 버블정렬에서는 최적과 과정을 통해서 두가지 경우의 낭비를 방지합니다. 자료가 정렬이 되어있는 경우엔 정렬을 끝낸다. 자료가 정렬되어있는 경우에 할 필요없는 비교를 전체적으로 수행하기 떄문에 1pass동안에 어떠한 변경이 없다면 정렬이 되었음을 확인하고 종료합니다. 정렬된..
삽입정렬은 정렬된 자료범위에서 자신의 위치를 찾아가는것을 반복하며 정렬해가는 알고리즘입니다. 삽입정렬은 BigO(n^2)의 시간이 걸립니다. 삽입정렬은 다음과 같은 순서로 차례차례 정렬을 합니다 위의 과정을 프로그래밍으로 나타내면 다음과 같이 됩니다. 12345678910111213141516171819202122232425262728293031323334353637383940#include void Print(int TargetArray[], int Length) //출력용 함수{ for (int i = 0; i
선택 정렬은 다음과 같은 과정을 거치며 정렬을 해가는 정렬알고리즘입니다. 선택정렬은 BigO(n^2)의 시간이 걸립니다. 주어진 데이터들 중에서 가장 작은 데이터를 찾는다 정렬되지 않는 값들 중에 가장 앞에 있는 데이터와 교체한다 정렬된 값들을 제외하고 나머지에 대하여 정렬이 끝날때 까지 반복한다. 선택정렬의 과정을 애니메이션으로 나타내면 다음과 같이 진행이 됩니다. 정렬된 대상을 제외한 값들에 대해서 최소값을 찾은 뒤 교체하는 과정의 반복입니다. 위의 반복을 프로그래밍으로 표현하면 다음과 같이 됩니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243#include void Print(int TargetArray[..