본문 바로가기
반응형

Algorithm4

[알고리즘] BubbleSort 간단하게 Bubble Sort을 만들어 보았습니다. 정렬 방식은 Buffer 마지막에 가장 큰 값을 옮겨두고, 첫 번째 for loop의 index를 -- 하여 뒤에서 부터 큰 값들이 정렬되도록 하는 sorting 방법입니다. 알고리즘 효율은 O(N^2) 입니다. Function 이름은 "한눈에 보이는 C 알고리즘"이라는 책에서 가져다 사용 했습니다. - 귀차니즘 프로그래밍의 왕도는 역시 불여일타!!!! #include #include using namespace std; #define MAX_SIZE 100 int NumberExit( int *_arrayBuffer, int _number, int _index) { for( int i=1 ; i < _index; i++ ) { if( _arrayBuf.. 2008. 11. 11.
[알고리즘] Selection Sort 프로그래밍 불여일타!!의 프로젝트의 일환으로, 퇴근후 배깔고 하는 알고리즘 공부를 시작!! 그 결과물로 간단 간단한 알고리즘을 작성하고, Blog에 올리기로 했습니다. 오늘은 간단하게 Selection Sort를 만들어 보았습니다. * 원리는 : 총 1...n개의 정렬 되지 않은 요소에서, 첫번째 놈을 가져다가 가장 작은 값을 가진다라 가정 하고 나머지 n-1개와 비교를 하게 합니다. 그래서 그중 가장 작은 녀석을 기억 하고 있다가, 1번째 자리와 바꿉니다. 그리고 index을 하나 더 증가 해서 두번째 요소를 가지고 n-2 만큼 loop를 돌아서 다시 최소값을 찾고 바꿔 줍니다. 이렇게 반복하면 정렬이 됩니다.( 사실 그림으로 보면 아무것도 아닙니다. 그림은 귀찮아서 안그렸습니다.) * 성능 : O(N.. 2008. 11. 11.
[알고리즘] Priority Queue (우선 순위큐) Project에 적용하기 위해서 작성한 Heap을 기반으로한 Priority Queue Class 입니다. MultiThread-Safe 하긴한데 performance가 따라 줄지는 모르겟습니다. 성능 개선을 위한 부분 있다면 언제든지 코멘트 부탁 드립니다 ㅜㅜ;;;; 딱 보면 아시겠지만, 생각하는 프로그래머에 Code를 그대로 옮겨 놓은 듯 합니다. ^0^ 그럼 고운하루 되세요. template class CPriQueue { private: int m_nCurIndex, m_nMaxsize; CRITICAL_SECTION m_cs; T *m_pTemplateArray; void swap( int i, int j ) { T t = m_pTemplateArray[i]; m_pTempl.. 2008. 11. 11.
[알고리즘] Insertion Sort(삽입정렬) 간단하게 작성한 삽입 정렬입니다. 간단하게 원리를 설명드리면, 배열에 index는 1에서 부터 시작해서(1 insertionValue && nInsertPosition > 0 ) { _arrayBuffer[nInsertPosition ] = _arrayBuffer[ nInsertPosition - 1 ]; nInsertPosition--; } _arrayBuffer[ nInsertPosition ] = insertionValue; } } 배열안에 값들이 정렬이 이루어져 있으면 N 에 대한 성능을 가질 수 있다고 하는군요. 2008. 11. 11.
반응형