Python

Python Bogo Sort Algoritması

Herkese merhaba, Python yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda sıralama algoritmalarından biri olan bogo sort algoritmasını anlatacağım. Hadi başlayalım !

Bogo Sort Algoritması

Bogo sort, en kötü sıralama algoritmalarından biridir. Sıralanacak olan elemanları rastgele bir şekilde karıştırır ve eğer listenin sıralı olmadığı tespit edilirse bu işlem tekrarlanır. Sıralı listelerde bile sonsuz döngülere sebep olabilir. Bu nedenle bogo sort, sadece eğlence amaçlı kullanılabilecek bir algoritmadır.

İşlevi, sıralanacak olan listeyi parametre olarak alır ve listenin sıralı olup olmadığını kontrol eder. Eğer liste sıralı değilse liste elemanlarını rastgele bir şekilde karıştırır ve işlemi tekrarlar. Bu işlem sıralı bir liste elde edilene kadar devam eder.

Python Kodu

Aşağıda Python dilinde bogo sort algoritması ile ilgili örnek bir kod yer almaktadır:

import random

def bogo_sort(lst):
    while not is_sorted(lst):
        random.shuffle(lst)
    return lst

def is_sorted(lst):
    for i in range(len(lst) - 1):
        if lst[i] > lst[i+1]:
            return False
    return True

# Test
arr = [4, 2, 1, 3, 5]
print(bogo_sort(arr))

Kod Açıklamaları

Yukarıdaki kodda bogo_sort fonksiyonu, verilen listenin sıralanmış olup olmadığını kontrol etmek için is_sorted fonksiyonunu kullanır. Eğer liste sıralanmamışsa random.shuffle fonksiyonu kullanarak liste elemanlarını rastgele bir şekilde karıştırır.

is_sorted fonksiyonu, verilen listenin sıralı olup olmadığını kontrol eder. Eğer listenin iki elemanı arasındaki sıralama doğru değilse, fonksiyon False değerini döndürür.

Sonuç

Bogo sort algoritması, daha verimli sıralama algoritmalarının yanında kullanılmayacak kadar yavaş ve verimsiz bir algoritmadır. Bu nedenle, gerçek dünya uygulamalarında tercih edilmez.

Evet Python ile bogo sort algoritması bu şekilde yazılmakta. Tüm Python yazılarımıza buraya, diğer sıralama algoritmaları ile ilgili yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu