Sort Algoritm(정렬 알고리즘) 이론
Programming/Java Algorithm 기초

Sort Algoritm(정렬 알고리즘) 이론

728x90

 

목차

     


     

    1. Sort Algoritm - 정렬 알고리즘

    주어진 범위 내에서 불규칙적으로 나열된 순서를 일정 기준에 따라 순서대로 나열하는 알고리즘.
    여기서는 선택 정렬만 설명할 것임.

    • 오름차순 : 1, 2, 3 / A, B, C 순으로 작은 것부터 큰 순으로 정렬
    • 내림차순 : 3, 2, 1 / C, B, C 순으로 작은 것부터 큰 순으로 정렬

     

    1. 1. 선택 정렬(Sellection Sort) 알고리즘

    • 데이터 하나를 기준으로 나머지 데이터와 비교함.
    • 가장 작거나 큰 데이터와 자리를 바꾸는 식으로 반복 비교하는 정렬 방법.
    • 데이터 개수가 n개 -> 전체 회전수는 n-1회
    • 오름차순 기준으로 배열의 처음에는 가장 작은 데이터가 채워짐

     

    1. 2. 선택 정렬의 회전

    배열 data[5]를 선택 정렬을 사용해서 오름차순으로 정렬 시킨다면

     

    1회전(pass1) : 

    • data[0]을 기준으로 나머지 데이터와 비교(data[1]부터 data[4]랑 비교하여 자리를 바꾸는 과정을 진행). 
    • data[0]에는 가장 작은 값이 들어간다.

     

    2회전(pass2) :

    • data[1]을 기준으로 나머지 데이터(data[2]~[4])와 비교하여 작은 값과 자리를 바꾼다.
    • 2회전이 끝나면 data[1]에는 두 번째로 작은 값이 들어간다.

     

    이러한 방법으로 4회전까지 마치면... 

     

    data[5]{ 11, 24, 32, 46, 55 }으로 오름차순 정렬된다. 


    data[5]의 전체 회전수는 4회전(n-1)임을 알 수 있다.

     

    300x250