Python 자료구조 7.1. 버블,선택,삽입 정렬

박종일·2023년 4월 22일
0

정렬이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 말한다.
프로그램에서 데이터를 가공할 때 오름차순이나 내림차순 등 대부분 어떤 식으로든 정렬해서 사용하는 경우가 많이에 정렬 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘 중 하나다.

링크텍스트

-> 공부에 참고한 동영상

  1. 버블 정렬 코드
# 버블 정렬

def bubble_sort(A):
    n = len(A)
    for i in range(n-1,0,-1):
        bChanged = False
        for j in range(i):
            if (A[j] > A[j+1]):
                A[j],A[j+1] = A[j+1], A[j]
                bChanged = True
        
        if not bChanged : 
            break
            printStep(A,n-i)
  1. 선택 정렬 코드
# 선택 정렬 알고리즘
list = [0,1,2,3,4,5,6,7,8,9]

for i in range(len(list)):
    min_index = i
    for j in range(i+1, len(list)):
        if (list[j]<list[min_index]):
            min_index = j
    
    list[i], list[min_index] = list[min_index],list[i] # 스와프
    
    
print(list)

  1. 삽입 정렬 코드
# 삽입 정렬 소스 코드
list = [3,4,5,1,2,7,8,33,12,21,11,10]

for i in range(1,len(list)):
    for j in range(i,0,-1):
        if list[j] < list[j-1]:
            list[j], list[j-1] = list[j-1], list[j]
        else:
            break

print(list)

profile
존경하는 인물: 스토브리그 백승수 단장(남궁민)

0개의 댓글