일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vector
- 자료구조
- Arduino
- queue
- c++
- 운영체제
- C언어
- Deque
- Visual Micro
- 수광 소자
- Algorithm
- 아두이노 소스
- 아두이노
- directx
- arduino compiler
- WinAPI
- LineTracer
- list
- Array
- priority_queue
- map
- set
- 시스템프로그래밍
- 통계학
- 라인트레이서
- Stack
- html
- stl
- 아두이노 컴파일러
- 컴퓨터 그래픽스
- Today
- Total
목록Algorithm (83)
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
소스) 12345678910111213141516171819202122232425262728#include#include#includebool search_n_bool(int i, int j){ if (i == j + 1) return true; return false;} int main(){ std::vector Vector = { 1,1,3,3,4,4,5,5,6,6,6,7,7,7,7}; std::vector::iterator Iter; Iter = std::search_n(Vector.begin(), Vector.end(), 3, 7); if (Iter != Vector.end()) std::cout
소스) 12345678910111213141516171819202122232425262728293031#include#include#includebool search_bool(int i, int j){ if (i == j) return true; return false;} int main(){ std::vector Vector = { 1,3,5,7,9,11,13,15 }; int Array[] = { 7,9,11 }; std::vector::iterator Iter; Iter = std::search(Vector.begin(), Vector.end(), Array, Array + 3); if (Iter != Vector.end()) std::cout
소스) 12345678910111213141516171819#include#include#includebool compare(int i, int j){ if (i == j) return true; return false;}void main(){ int Array[] = { 10,20,30,40,50 }; std::vector Vector = { 30,10,20,50,40}; if (std::is_permutation(Vector.begin(), Vector.end(), Array)) std::cout
소스) 123456789101112131415161718192021222324252627#include#include#includebool compare(int i, int j){ if (i == j) return true; return false;}void main(){ int Array[] = { 10,20,30,40,50 }; std::vector Vector = { 10,20,30,40,50}; if (std::equal(Vector.begin(), Vector.end(), Array)) std::cout
소스) 123456789101112131415#include#include#include void main(){ std::vector Vector = { 10,20,30,40,50}; int Array[] = { 10,20,80,320,1024 }; std::pair Pair; Pair = std::mismatch(Vector.begin(), Vector.end(),Array); std::cout