Sekolah

Beberapa Algoritma Python yang Cukup Populer dalam Mengurutkan Data

×

Beberapa Algoritma Python yang Cukup Populer dalam Mengurutkan Data

Sebarkan artikel ini

Python adalah salah satu bahasa pemrograman teknis paling populer di dunia saat ini. Salah satu kegunaan utamanya adalah dalam analisis data, di mana kemampuan untuk mengurutkan data dapat sangat berguna. Berikut ini adalah beberapa algoritma Python yang cukup populer dalam mengurutkan data.

1. Bubble Sort

Algoritma pengurutan paling dasar adalah ‘Bubble Sort’. Konsep utamanya adalah membandingkan pasangan item yang berdekatan dalam array dan membalik mereka jika mereka tidak dalam urutan yang benar. Hal ini terus berlanjut sampai array lengkap dalam urutan yang benar.

def bubbleSort(arr):    n = len(arr)    for i in range(n-1):        for j in range(0, n-i-1):            if arr[j] > arr[j+1] :                arr[j], arr[j+1] = arr[j+1], arr[j]

2. Selection Sort

Alternatif lain untuk ‘Bubble Sort’ adalah ‘Selection Sort’. Prinsipnya adalah menemukan elemen minimum dari array dan menggantinya dengan elemen pertama. Proses ini diulangi untuk sisanya dari array.

def selectionSort(A):    for i in range(len(A)):        min_idx = i        for j in range(i+1, len(A)):            if A[min_idx] > A[j]:                min_idx = j        A[i], A[min_idx] = A[min_idx], A[i]

3. Merge Sort

‘Merge Sort’ adalah algoritma yang jauh lebih efisien yang menggunakan pendekatan divide-and-conquer. Ide utamanya adalah membagi array ke dalam dua setengah yang hampir sama, mengurutkan setiap setengah, dan kemudian menggabungkannya menjadi satu set yang lengkap yang telah diurutkan.

def mergeSort(arr):    if len(arr) > 1:        mid = len(arr)//2        L = arr[:mid]        R = arr[mid:]        mergeSort(L)        mergeSort(R)        #proses penggabungan        ...

4. Quick Sort

Sebagai algoritma yang paling cepat dan efisien, ‘Quick Sort’ memilih elemen acak, yang disebut ‘pivot’, dan mempartisi array, sehingga elemen yang lebih kecil dari pivot berada di sebelah kiri, dan elemen yang lebih besar di sebelah kanan. Proses ini diulangi untuk setiap bagian.

def partition(arr, low, high):    i = (low - 1)      pivot = arr[high]    for j in range(low, high):        if arr[j] <= pivot:            i = i + 1            arr[i], arr[j] = arr[j], arr[i]    arr[i+1], arr[high] = arr[high], arr[i+1]    return (i + 1)

Algoritma-algoritma ini adalah beberapa algoritma pengurutan yang populer dan sering digunakan dalam Python. Masing-masing memiliki keuntungan dan kerugian tersendiri, dan yang mana yang harus digunakan tergantung pada kasus penggunaannya.

Jadi, jawabannya apa? Python memiliki berbagai algoritma pengurutan yang dapat digunakan sesuai kebutuhan program anda. Pilihlah algoritma yang paling sesuai dengan kebutuhan anda dan optimalkan penggunaan memori dan waktu komputasi anda.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *