Python 정렬 알고리즘: 버블 및 병합 정렬

Python 정렬 알고리즘을 살펴보세요. 브라우저 IDE 컨텍스트 내에서 기본적으로 버블 정렬 및 병합 정렬을 시각화합니다.

에디터에서 사용해 보세요

개요

정렬은 소프트웨어 엔지니어링에서 가장 중요한 작업 중 하나입니다. Python은 Timsort를 사용하여 `.sort()`를 기본적으로 제공하지만, 아키텍처 지식을 위해서는 기본적인 정렬 알고리즘을 이해하는 것이 필수적입니다.

버블 정렬은 무차별 O(n²) 비교 교환을 사용합니다. 병합 정렬은 O(n log n) 분할 및 정복 재귀 방법론을 사용합니다.

코드 및 실행 출력

표준 버블 정렬을 실행하여 배열을 오름차순으로 정렬합니다.

def bubble_sort(arr):
    n = len(arr)
    # Traverse through all array elements
    for i in range(n):
        swapped = False
        # Last i elements are already in place
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                # Swap if the element found is greater
                arr[j], arr[j+1] = arr[j+1], arr[j]
                swapped = True
        if not swapped:
            break
    return arr

sample = [64, 34, 25, 12, 22, 11, 90]
print("Original:", sample)
print("Sorted:  ", bubble_sort(sample))
터미널 출력
Original: [64, 34, 25, 12, 22, 11, 90]
Sorted:   [11, 12, 22, 25, 34, 64, 90]

단계별 구현

  • 데이터 파이프라인 정리 및 구성
  • 컴퓨터 과학 기초 학습
  • 내부적으로 쿼리 표시 레이어 최적화

자주 묻는 질문

언제 나만의 정렬 기능을 작성해야 합니까?

드물게. 정렬 알고리즘은 주로 알고리즘의 복잡성을 이해하기 위해 배웁니다. 프로덕션에서는 고도로 최적화된 C 코드이므로 항상 Python에 내장된 `sorted(data)`를 사용하세요.

관련 주제