Arama

Algoritma - Tek Mesaj #1

ThinkerBeLL - avatarı
ThinkerBeLL
VIP VIP Üye
3 Mart 2010       Mesaj #1
ThinkerBeLL - avatarı
VIP VIP Üye
Algoritma
Vikipedi, özgür ansiklopedi

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.

Tanımı
Algoritmaları daha kolay anlatabilmek için akış şemaları kullanılır.
Ad:  326px-LampFlowchart_tr.svg.png
Gösterim: 3164
Boyut:  22.0 KB

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.
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.
  • Karıştır.
  • Aynı miktarda su ilave et.
  • Biraz tuz ekle.
  • Tekrar karıştır.
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.
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.

Bu örnekte m % n bölmenin kalanıdır, yani 5%2 = 1'deki gibi. Algoritmayı 33 ve 15'e uygulayalım:
Kod:
33,15
15,3
3,0
sonuç 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şla
A1 --> 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.


Ö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ı
BEĞEN Paylaş Paylaş
Bu mesajı 1 üye beğendi.
Tanrı varsa eğer, ruhumu kutsasın... Ruhum varsa eğer!