ALGORİTMALAR
Algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yol. Matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir.

Algoritma kelimesi ismini Matematik, Gökbilim, Coğrafya ve Algoritma alanlarında çalışmış Fars bilim insanı Hârizmî’den almaktadır. Algoritma sözcüğü, “Al-Harezmî” isminin Latince okunuşu olarak bilinir.
Bir mantıksal adımlama bütününün Algoritma olabilmesi için;
- Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı olmamalıdır.
- Belirli bir sayıda adım sonunda algoritma sonlanmalıdır.
- Tüm ihtimalleri ele alabilecek kadar genel olmalıdır.
Algoritmaların daha iyi anlaşılabilmesi ve popüler bir algoritmayı öğrenmeniz adına Bellman-Ford Algoritması’nı tanıyalım.
Bellman-Ford Algoritması
Bellman-Ford algoritması, tek bir kaynak tepe noktasından ağırlıklı bir digrafideki diğer tüm köşelere en kısa yolları hesaplayan bir algoritmadır.
Algoritmanın mantığını daha iyi kavramak için çizdiğim graph ile algoritmayı tanıyalım. Bu örnekte eksi (-) değer kullanmayacağım fakat Bellman-Ford Algoritması, benzerlik gösteren ve daha hızlı çalışan Dijkstra Algoritması’nın aksine eksi değer taşıyan kenarlar ile çalışabilmektedir.

Graphımız A, B, C, D, E olmak üzere 5 düğüm ve 6 kenardan oluşmaktadır.
İki adıma ayrılmış bir biçimde algoritma :

1.ADIM : Düğüm opsiyonel olmakla birlikte A düğümüne 0 (sıfır) ve diğer düğümlere ∞ (sonsuz) değerini atıyoruz. Ve graph üzerindeki tüm kenarların bir listesini çıkartıyoruz.

2.ADIM : Kenarlardan listedeki sıra ile geçerek düğümlerin değerini buluyoruz, aynı düğüm için tekrar bulunan değer bir öncekinden küçükse son değer olarak küçük olanı yazmalıyız. Sonuç olarak tüm köşelere en kısa yolları hesaplamış oluruz.