Algorithm
-
2. 선택 정렬(Selection Sort)Algorithm 2019. 10. 4. 00:56
#정렬알고리즘 분류 *Stable : 정렬할 자료들 중 동일한 두 자료의 상대적인 위치가 정렬 후에도 유지되는 정렬 알고리즘 *In-place : 정렬할 자료를 저장하는 메모리 공간 이외에 추가로 사용하는 메모리 공간이 O(1)인 정렬 알고리즘 #선택 정렬 알고리즘 각 루프마다 1. 최대(최소) 원소를 찾는다. 2. 최대(최소) 원소와 마지막(가장 앞에 있는) 원소를 교환한다. 3. 마지막(가장 앞에 있는) 원소를 제외한다. 하나의 원소만 남을 때까지 위의 루프를 반복한다. ex) 5 2 4 1 3 3 2 4 1 5 3 2 1 4 5 1 2 3 4 5 1 2 3 4 5 #구현 #include using namespace std; void selectionsort(int* a, int n); void sw..
-
1. 알고리즘 개요Algorithm 2019. 10. 3. 23:39
#알고리즘 이란? 문제 해결 절차를 체계적으로 기술한 것 즉, 입력으로부터 출력을 만드는 과정을 기술한 것이다. 바람직한 알고리즘은 명확해야하며, 효율적이어야 한다. 알고리즘의 평가 기준으로는 1)정확성, 2)수행시간, 3) 사용 메모리 공간, 4)단순성과 명확성, 5)최적성이 있으며, 2번과 3번을 두고 알고리즘의 효율성이라고 한다. #알고리즘의 수행시간 분석 -입력에 따른 수행시간 분석 수행시간은 입력의 크기 n과 관계가 있다. 입력의 크기가 증가하면 알고리즘의 수행시간이 증가한다. 일반적인 생각으로는 수행시간은 크기가 n인 모든 입력에 대한 평균적인 수행시간이라고 생각한다. 하지만 평균적인 수행시간을 분석하는 것은 매우 어렵다. 따라서 크기가 n인 모든 입력 중에서 최악의 경우에 대한 수행시간을 분..