Algoritma

CORDIC algoritması

Trigonometrik fonksiyonlar, sonsuz sayıda elemandan oluşan bir serinin açılımı şeklinde ifade edilebilir. Taylor serisi denilen bu serilerin ilk 8-10 elemanını hesaplayarak gerçek değerlere yeterince yakın sonuçlar elde edebiliriz. Fakat bu seriler içerisinde çarpma işlemini barındırır ve çarpma işlemi bilgisayarlar için maliyetli bir işlemdir. Öyleyse bize çarpma/bölme gibi kompleks işlemleri barındırmayan başka bir metod lazım, CORDIC algoritması gibi. CORDIC (for COordinate…

Continue Reading

Algoritma

Breadth first search

BFS, arama yaparken önce başlangıç düğümünün yakın çevresini, daha sonra da uzağındaki düğümleri arar. Dolayısıyla aranan düğüm başlangıç noktasına yakınsa arama işini kolaylaştırır. Aşağıda bir binary tree örneği görüyorsunuz. Konunun daha iyi anlaşılabilmesi için herhangi bir hedef konmadan tüm ağaç aranmıştır. BFS ile arama yaparken kuyruk veri yapısından faydalanıldı. Ağaç veri yapısının başlangıç durumu. Kuyruğa 0 numaralı düğüm eklendi. Kuyruktan…

Continue Reading

Algoritma

Depth first search

DFS’yi anlatmadan önce bunun bir arama algoritması olduğunu söylemekle başlayalım. Arama algoritmaları birçok yönden birbirinden ayrılsa da ortak noktaları birşeyler aramalarıdır. Bu bazen bir dizideki en büyük sayı olur, bazen de labirentten çıkış yolu. DFS, graflarda arama yapar ve anlaşılması görece kolaydır. Graflar DFS ile aranırken stack veri yapısı kullanılır. Aşağıda DFS ile aranmış bir graf örneği görüyorsunuz. Algoritmanın daha…

Continue Reading

Algoritma

Sözlükten kelime bulma algoritması

Mastermind oyununu bilenleriniz bilir (ben bilmiyorum). İki kişi oynanan bu oyunda taraflardan biri 6 farklı renkten bazılarını seçerek 4 renkten oluşan bir kombinasyon oluştur, diğer taraf ise bu renk sırasını tahmin etmeye çalışır. Her tahminden sonra kaç tane rengi doğru tahmin edildiği gibi bazı ipuçları verilir. Eğer tahmin eden taraf bu ipuçlarını takip eder ve en fazla 11 tahminde doğru…

Continue Reading