Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

버블 정렬과 선택 정렬의 차이점


이 게시물에서는 버블 정렬과 선택 정렬의 차이점을 이해할 것입니다.

버블 정렬

  • 간단한 정렬 알고리즘입니다.

  • 목록을 반복하고 인접한 요소 쌍을 비교하여 정렬합니다.

  • 인접한 요소를 기반으로 스왑이 이루어집니다.

  • 선택 정렬에 비해 효율적입니다.

  • 선택 정렬에 비해 느립니다.

  • 아이템 교환을 사용하여 요소를 교환합니다.

  • 모든 요소가 올바른 순서가 될 때까지 요소가 반복적으로 교체됩니다.

다음은 버블 정렬 알고리즘입니다.

알고리즘

begin BubbleSort(list)
   for all elements of list
      if list[i] > list[i+1]
         swap(list[i], list[i+1])
end if
end for

return list

end BubbleSort

선택 정렬

  • 먼저 목록에서 최소값 또는 최대값을 얻습니다.

  • 목록은 오름차순 또는 내림차순으로 정렬됩니다.

  • 정렬되지 않은 하위 배열에서 최소 또는 최대 요소를 선택하여 정렬된 하위 배열의 다음 위치에 넣습니다.

  • 불안정한 정렬 알고리즘으로 간주됩니다.

  • 모든 경우의 시간 복잡도는 O(n 제곱)입니다.

  • 삽입 정렬에 비해 효율성이 떨어집니다.

  • 반복하는 동안 수행된 비교 횟수는 수행된 요소 스와핑보다 많습니다.

  • 목록에 있는 모든 요소의 위치는 이전에 알려져 있습니다.

  • 즉, 사용자는 특정 위치에 삽입해야 하는 요소만 검색합니다.

  • 버블 정렬에 비해 효율적입니다.

  • 버블정렬에 비해 빠릅니다.

  • 아이템 선택을 사용합니다.

다음은 선택 정렬 알고리즘입니다.

알고리즘

Step 1 - Set MIN to location 0
Step 2 - Search the minimum element in the list
Step 3 - Swap with value at location MIN
Step 4 - Increment MIN to point to next element
Step 5 - Repeat until list is sorted