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

BogoSort 또는 순열 정렬을 위한 Python 프로그램


이 기사에서는 아래 주어진 문제 설명에 대한 솔루션에 대해 알아볼 것입니다.

문제 설명 − 배열이 주어졌으므로 순열 정렬 개념을 사용하여 정렬해야 합니다.

BogoSort는 순열 정렬이라고도 하며 패러다임 생성 및 테스트를 기반으로 합니다.

이제 아래 구현에서 솔루션을 살펴보겠습니다-

# random module
import random
# Sort
def bogoSort(a):
   n = len(a)
   while (is_sorted(a)== False):
      shuffle(a)
# check
def is_sorted(a):
   n = len(a)
   for i in range(0, n-1):
      if (a[i] > a[i+1] ):
         return False
   return True
# permutation
def shuffle(a):
   n = len(a)
   for i in range (0,n):
      r = random.randint(0,n-1)
      a[i], a[r] = a[r], a[i]
# main
a = [1,5,3,4,8,6,3,4,5]
bogoSort(a)
print("Sorted array :")
for i in range(len(a)):
   print (a[i],end=" ")

출력

Sorted array is :
1 3 3 4 4 5 5 6 8

BogoSort 또는 순열 정렬을 위한 Python 프로그램

모든 변수는 로컬 범위에서 선언되며 해당 참조는 위 그림과 같습니다.

결론

이 기사에서는 BogoSort 또는 순열 정렬을 위한 Python 프로그램을 만드는 방법에 대해 배웠습니다.