İçeriğe geç

Değer karıştırma algoritması (Shuffle Algorithm)

Algorithm

Merhabalar bu yazımda Swift ile yazmaya devam ettiğim algoritma serisine işinize yarayacak kolay ve etkili bir algoritma olan The Fisher-Yates / Knuth shuffle algoritmasını örnekleyeceğim.

Shuffle algoritması ismindende anlaşılacağı gibi karıştırma algoritmasıdır. Çoğu oyun,sosyal medya uygulamalarında sıklıkla kullanılır. Elimizde bulunan veri setinin sıralarını random bir şekilde karıştırmaya yarar.

Aşağıda yazdığım algoritmayı inceleyebilirsiniz.

Örnek ile birlikte açıklayacak olursam.

Görüğünüz gibi dizi Swift ile Array sınıfına extension olarak yazdığım shuffle fonksiyonunu kullandık ve dizi içerisindeki değerler rastgele olarak yer değiştirmiş oldu. Algoritmanın mantığı dizi count kadar git i + 1 arası rand sayı üret ve bu sayı i değeri ile eşit değilse dizinin i indisi ile rand değerini değiştir.

Github link.

Tarih:AlgorithmSwift

Bu yazı yorumlara kapalı.

© 2019 Kenan Atmaca