알고리즘

    [알고리즘] 버블정렬

    버블정렬은 리스트를 검사하여 두 인접한 원소가 오름차순 정렬에 맞지 않으면 이들을 서로 교환하는 알고리즘 입니다. a[1], a[2] 비교 및 교환 a[2], a[3] 비교 및 교환 a[3], a[4] 비교 및 교환 . . . a[n-1], a[n] 비교 및 교환 이 과정을 반복하면 가장 큰 원소가 배열의 n 위치로 끓어 오르게 되는데, 이것이 첫 번째 패스 입니다. 두 번째 패스에서는 다시 배열의 처음부터 인접한 원소를 비교하여 순서가 맞지 않을 경우 교환하면서 검사합니다. 이 때는 마지막 비교가 a[n-2] 와 a[n-1]이 됩니다. // 이미 가장 큰 원소는 가장 오른쪽에 들어가 있기 때문입니다. 이 패스는 배열에서 두 번째로 큰 원소를 n-1의 위치로 끓어 오르게 합니다. 이 정렬은 가장 큰 원소..

    [알고리즘] 선택 정렬 알고리즘

    선택정렬 선택 정렬은 여러 개의 데이터가 무작위로 있을 때 전체 데이터에서 매번 가장 작은(또는 가장 큰) 데이터를 선택하여 데이터 간의 위치를 변경하는 과정을 반복하여 데이터를 오름차순(또는 내림차순)으로 정렬할 때 사용합니다. 선택 정렬의 종류는 2가지로 나눌 수 있습니다. 최소 선택 정렬(Min-selection sort): 매번 가장 작은 데이터를 선택하고 데이터 간의 배치를 변경하며 오름차순으로 정렬 최대 선택 정렬(Max-selection sort): 매번 가장 큰 데이터를 선택하고 데이터 간의 배치를 변경하며 내림차순으로 정렬 선택정렬은 어떻게 동작하는가? 최소 선택 정렬의 경우 구체적인 동작 과정은 다음과 같습니다. 1. 전체 데이터에서 가장 작은 데이터를 선택하고 맨 앞에 있는 데이터와 ..