Fibonacci sayısı oluşturma - Matematik Problemi

Fibonacci sayılarını oluşturmanın birden fazla yöntemi vardır.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 141, ……..

Fn = Fn-1 + Fn-2

F0 = 0 and F1 = 1.

Metot 1 ( recursion )

Yukarıda verilmiş olan matematik ifadesinin direkt olarak uygulanmış halidir. İşe yarar ama çok fazla maliyetlidir.

T(n) = T(n-1 …

more ...


Suffix Array - String Algoritmaları

Suffix dizisi, verilmiş olarak verilen stringe ait tüm suffixlerin alfabetik olarak sıralanmış halidir. Suffix array eğer elinizde bir suffix tree varsa, bu ağaç üzerinde DFS algoritmasını işletilmesi ile elde edilebilir.

Suffix array veri yapısının, suffix tree'den avantajları, geliştirilmiş bellek performansı ve keşleme özelliğidir.

Önreğin;

"banana" için.

0 banana                          5 a …
more ...



Prim Algoritması - Greedy Yaklaşımı

Tıpkı Kruskal algoritmasında olduğu gibi Prim algoritmasında da amaç en kısa yol ağacını bulmaktır ve greedy yaklaşımı ile çözülür.

Algoritma aşağıdaki şekilde çalışır.

  1. Ağaca eklenmiş tüm düğümleri tutacak bir küme oluştur(mst_set).
  2. Başlangıçta tüm düğümlere sonsuz değeri verin sadece içlerinden bir tanesini seçmek için 0 değeri verin.
  3. Eğer 1. adımda …
more ...

Veri akışının aritmetik ortalaması - Matematik Problemi

Bu problemde elimize, bir kaynaktan gelen sürekli veriler var yani hep bir sayı akışı var. Bizden her gelen yeni sayı için o anki aritmetik ortalama istenmektedir.

Örneğin;

Akış ... 10, 20, 30, 40, 50, 60, …
10 geldiğinde ortalama 10.00
20 geldiğinde ortalama 15.00
30 geldiğinde ortalama 20.00
40 …
more ...

Bozuk para problemi - Greedy Yaklaşımı

Bize verilen bir miktar para var ve bu miktarı en az sayıda banknot ile karşılamak istiyoruz. Gerçek hayattada sıkça karşılaşılan bir problemi aslında greedy yaklaşımı ile çözüyoruz.

Örneğin

Input: V = 70 TL
Output: 2
50 TL + 20 TL = 70 TL

Input: V = 121 TL
Output: 3
100 TL + 20 TL …
more ...

Sayı fibonacci sayısı mı? - Matematik Problemi

Verilen sayının fibonacci sayısı olup olmadığını anlamanın basit bir yolu var.

İsterseniz sırayla kendi sayınıza kadar fibonacci sayılarını oluşturup kontrol ederek gidebilirsiniz. Tabi aşırı maliyetli bir çözüm olur, ya da matematikten faydalanırsınız.

Bu çözüme tam kare çözümü denmektedir. Kontrol için aşağıdaki eşitliği kullancağız.

(5*n^2 + 4) veya (5*n …

more ...