12-19-2012
|
#1
|
Prof. Dr. Sinsi
|
Algoritma Nedir?
Ebu Abdullah Muhammed İbn Musa el Harezmi isimli Algoritma, 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 (adımlar) kümesidir Algoritmalar bilgisayarlar tarafından işletilebilirler Algoritma kelimesi, İranlı matematikçinin adından gelir Batılılar, el Harezmi (Al-Khwārizmī, Latincede Algoritmi) sözcüğünü telafuz edemedikleri için terim bu şekilde kalmıştır![frmsinsi.com](images/smilies/frmsinsi.gif)
Tanımı
Algoritmaları daha kolay anlatabilmek için akış şemaları kullanılır![frmsinsi.com](images/smilies/frmsinsi.gif)
326px-LampFlowchart_tr svg png
Belli bir durumdan başlayarak sonlu sayıda adımda belli bir sonucu elde etmenin yöntemini tarif eden iyi tanımlanmış (well-defined) kurallar kümesine algoritma denir Dolayısıyla algoritma, bir sonucun bulunmasını kolaylaştıran ama deneme-yanılma ve sezgisel çözümlemeye karşıt olan bir yöntemdir Algoritmalar özel durumlara çözüm sunmazlar Genel çözümlerin işlem basamaklarını içerirler Bir algoritmanın çalışmasındaki mutlak zorunluluk; her türl belirsizlikten arınmış olmasıdır Bir algoritmanın yürütülmesi, her biri bir komutla belirlenen bir etiketler dizisi oluşturur ve bu dizi, önceki komutun yürütülmesinin sona ermesiyle birlikte yürütülmeye başlar Algoritmanın temel yapısı olan, zaman içindeki bu sıralılık, süreçli programlamada temel bir varsayımdır![frmsinsi.com](images/smilies/frmsinsi.gif)
Genel olarak algoritmanın aşağıdaki özellikleri ele alınmaktadır:
- Genellik
- Kesin sıralılık
- Sırayı belirleyen kumanda yapısı
- Sonluluk ve neticelik
Algoritmanın en basit örneği bir yemek tarifidir; ayran yapmak için:
- Yoğurdu bir kaba koy
![frmsinsi.com](images/smilies/frmsinsi.gif)
- Karıştır
![frmsinsi.com](images/smilies/frmsinsi.gif)
- Aynı miktarda su ilave et
![frmsinsi.com](images/smilies/frmsinsi.gif)
- Biraz tuz ekle
![frmsinsi.com](images/smilies/frmsinsi.gif)
- Tekrar karıştır
![frmsinsi.com](images/smilies/frmsinsi.gif)
Sonucu bir matematik problemin çözümü olan başka bir basit örnek de Öklid'in ortak bölenlerin en büyüğünü bulan algoritmasıdır![frmsinsi.com](images/smilies/frmsinsi.gif)
Kod:
giriş: iki sayı m,n 1 eğer n = 0 ise, sonuç m dir 2 m'nin yerine n koy, n nin yerine m%n koy, tekrar 1'den başla![frmsinsi.com](images/smilies/frmsinsi.gif)
Bu örnekte m % n bölmenin kalanıdır, yani 5%2 = 1'deki gibi Algoritmayı 33 ve 15'e uygulayalım:
Kod:
33,1515,33,0sonuç 3
Bir de bilgisayar algoritmasına örnek verelim Kullanıcının girdiği dört sayının ortalamasını görüntüleyen algoritmayı yazalım:
Kod:
A0 --> BaşlaA1 --> Sayaç=0 (Sayaç'ın ilk sayısı 0 olarak başlar )A2 --> Sayı=? : TßT+Sayı (Sayıyı giriniz T'ye sayıyı ekle ve T'yi göster )A3 --> Sayaç= Sayaç+1 (Sayaç'a bir ekle ve sayaci göster )A4 --> Sayaç < 4 ise A2'ye git (Eğer sayaç 4'ten küçükse Adım 2'ye git )A5 --> O=T/4 (Ortalama için T değerini 4'e böl )A6 --> O'yu göster (Ortalamayı göster )A7 --> Dur
Tarihi
Algoritma sözcüğü Ebu Abdullah Muhammed İbn Musa el Harezmi adındaki İran'lı alimden kaynaklanır Bu alim 9 yüzyılda cebir alanindaki algoritmik çalışmalarını kitaba dökerek matematiğe çok büyük bir katkı sağlamıştır "Hisab el-cebir ve el-mukabala (حساب الجبر و المقابلة)" kitabı dünyanın ilk cebir kitabı ve aynı zamanda ilk algoritma koleksiyonunu oluşturur Latince çevirisi Avrupa'da çok ilgi görür - alimin ismini telaffuz edemeyen Avrupalılar "algorizm" sözcüğünü "Arap sayıları kullanarak aritmetik problemler çözme kuralları" manasında kullanırlar Bu sözcük daha sonra "algoritma"ya dönüşür ve genel kapsamda kullanılır![frmsinsi.com](images/smilies/frmsinsi.gif)
Önemli algoritma türleri
- Arama algoritmaları
- Bellek yönetimi algoritmaları
- Bilgisayar grafiği algoritmaları
- Birleşimsel algoritmalar
- Çizge algoritmaları
- Evrimsel algoritmalar
- Genetik algoritmalar
- Kripto algoritmaları veya kriptografik algoritmalar
- Kök bulma algoritmaları
- Optimizasyon algoritmaları
- Sıralama algoritmaları
- Veri sıkıştırma algoritmaları
|
|
|