ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 버블정렬
    코테 공부 2020. 6. 9. 09:54
    • 서로 인접한 두 요소의 크기를 서로 비교하여 교환

     

    1. 맨 앞에서부터 탐색해 가장 큰 수를 맨 뒤로 보낸다.
    2. 다시 맨 앞에서부터 탐색해 그 다음으로 큰 수를 뒤에서 2번째로 보낸다.
    3. 위와같은 방법을 반복하여 정렬한다.

     

    • 큰수부터(뒤에서부터) 정렬하는 방법이라고 볼 수 있다.
    • 안정성이 있고, 비효율적
    • 속도가 느림
     
     
     
     
    < 버블정렬 함수 >
    def Bubble_Sort(a):
        N=len(a)
        for i in range(1, N):
            for j in range(N-i):
                if a[j]>a[j+1]:
                    a[j], a[j+1] = a[j+1], a[j]
        return a
     
     
    < 테스트 >
    import numpy as np
     
    N = int(input('크기를 입력하세요:'))
    a = np.random.randint(1000, size=N)
    print('---정렬전---')
    print(a)
     
     
    print('---정렬후---')
    print(Bubble_Sort(a))
     
    < 재귀로 만든 버블정렬 >
    def Bubble_Sort2(a):
        N=len(a)
        if N==1:
            return a
        else:
            for i in range(N-1):
                if a[i]>a[i+1]:
                    a[i], a[i+1] = a[i+1], a[i]
            return Bubble_Sort2(a[:-1])+a[-1]
     

     

    '코테 공부' 카테고리의 다른 글

    프로그래머스 - 단어 변환  (0) 2022.11.07
    힙(heap) 알고리즘  (0) 2022.09.28
    삽입정렬  (0) 2020.06.09
    이진 탐색  (0) 2020.06.02

    댓글

Designed by Tistory.