본문 바로가기

Study/Algorithms

정렬이란?

정렬(Sorting)

정렬 :
    임의의 순서대로 배열되어 있는 자료의 집합을 일정한 순서대로 재배열 하는 과정
    특정키 값에 의해 크기순(오름차순 또는 내림차순)으로 나열하는 것

정렬의 종류 :
    내부정렬 : 데이터를 주기억장치에 올려놓고 정렬하는 방식
    교환방식 : 키를 비교하여 교환하여 정렬하는 방식.예) 선택정렬(selection sort), 버
    블정렬(bubble sort), 퀵 정렬(quick sort)
    삽입방식 : 키를 비교하여 삽입에 의하여 정렬하는 방식.예) 삽입정렬(insert sort), 쉘
    정렬(shell sort)
    병합방식 : 키를 비교하여 병합에 의하여 정렬하는 방식으로서 몇 개의 자료를 병합하
    느냐에 따라 2-way 병합정렬(merge sort), n-way 병합정렬 등으로 구분. 병합 방식
    은 외부정렬의 기본개념
    분배방식 : 키를 구성하는 각 자릿수를 특정 버킷(bucket)에 분배하여 정렬하는 방식.
        예) 기수정렬(radix sort)
    선택방식 : 예) 힙정렬(heap sort)방식
    외부정렬 : 디스크나 테이프 장치와 같은 보조기억 장치를 이용해 정렬하는 것
        외부정렬은 2-way 병합정렬(merge sort), n-way 병합정렬 등이 있다.

정렬방법 선택시 고려사항 :
    정렬 대상이 되는 데이터 양
    데이터들의 초기 배열 상태
    키값의 분포 형태
    정렬에 사용되는 기억공간
    실행시간
    사용되는 컴퓨터의 특성 등

'Study > Algorithms' 카테고리의 다른 글

정렬 알고리즘  (4) 2007.12.04