Saçma sıralama

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

Saçma sıralama (ya da rastgele sıralama) bilgisayar bilimlerinde yalnızca eğitim amaçlı olarak kullanılan verimsiz bir sıralama algoritmasıdır. Bir deste oyun kağıdı saçma sıralama algoritmasıyla sıralanmak istendiğinde, destenin sıralı olup olmadığına bakılır, eğer deste sıralı değilse havaya atılarak yere düşen kartlar toplanarak deste yeniden oluşturulur. Bu işlem deste sıralanana kadar sürer.

Konu başlıkları

Uygulama [değiştir]

Sözde kodu:

while not InOrder(deck) do Shuffle(deck);

Java [değiştir]

public int[] BogoSort(int[] numbers)
{
    Random rnd = new Random();
    while(true)
    {
        boolean sorted = true;
        for(int i = 0; i < numbers.length-1; i++)
            if(numbers[i] > numbers[i+1])
                sorted = false;
        if (sorted)
            return numbers;
        for(int i = numbers.length - 1; i > 0; i--)
        {
            int rand = rnd.nextInt(i);
            int temp = numbers[i];
            numbers[i] = numbers[rand];
            numbers[rand] = temp;
        }
    }
}

Python [değiştir]

#-*- coding: utf-8 -*-
 
# Fatih Mert Dogancan tarafindan;
# Java dilinden Python diline çevrilmistir.
 
import random
 
def BogoSort(numbers):
        rnd = random.random()
        while True:
                sorted = True
                i = 0
                if len(numbers) - 1:
                        if numbers[i] > numbers[i+1]:
                                while 1:
                                        i += 1
                                        sorted = False
                        if sorted:
                                return numbers
                        i = len(numbers) - 1
                        if i > 0:
                                while 1:
                                        temp = numbers[i]
                                        numbers[i] = numbers[rnd]
                                        numbers[rnd] = temp

Benzer algoritmalar [değiştir]

Rastgele değiştirmeli sıralama [değiştir]

Rastgele değiştirmeli sıralama, rastgele sayı seçmeye dayalı, saçma sıralamaya benzer bir sıralama algoritmasıdır. Eğer sıralanacak dizi sıralı değilse algoritma rastgele iki sayı seçer ve bu iki sayıyı birbiriyle değiştirir. Algoritmanın çalışma süresini belirlemek oldukça zordur ve gerçek uygulamalarında sıralanmış bir diziye ulaşamayabilir.