Saçma sıralama

Saçma sıralama veya rastgele sıralama, bilgisayar bilimlerinde yalnızca eğitim amaçlı olarak kullanılan verimsiz bir sıralama algoritması. 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.

Uygulama

Sözde kodu:

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

Java

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

#-*- coding: utf-8 -*-

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

Rastgele değiştirmeli sıralama

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.

This article is issued from Vikipedi - version of the 7/5/2013. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.