Merhaba! Bilgisayar programlama için ikinci konumuz olan "Algorimta ve Akış Şeması" konusunu anlattım!
Algoritma Nedir?
Belli bir problemi çözmek için matematik ve mantık çerçevesinde tasarlanan, başlangıcı ve sonu belli olan işlemler kümesidir. Tarihte bilinen ilk algoritma tasarımını yapan kişi el-Harizmi'dir. İlk algoritma, Hisab el-Cebir ve el-Mukabala isimli kitapta yer almaktadır.
Bir amaca ulaşmak için veya mevcut olan bir problemin çözümü için, kurallı ve mantıklı bir düzen içinde yol haritası belirlemektir. Belirlenen yol haritasının başlangıcı ve bitişi kesin olmalıdır. Bu yol haritasının her adımı kolay uygulanabilir, anlaşılabilir olmalıdır. Belirlenecek bu yol haritasının her adımı sıralamasına dikkat edilmelidir.
Veri Tipi, Değişken ve Değer
Algoritmada yer alan her bir büyüklük bilgisayar biliminde değişken olarak adlandırılmaktadır. Bu büyüklüklere atanan her veriye ise değişkenin değeri olarak adlandırılır(kısaca değer). Her bir değişken ise sahip olduğu veri tipine göre değer almaktadır. Veri tipleri ise değişkenlerin sahip olabileceği değerlerin türlerini belirtmektedir.
Akış Şeması Tanımı
Bir problemin çözümünde kullanılan algoritmayı anlaşılır bir şekilde görselleştirmek amacıyla yapılan bir şemadır. Çeşitli şekiller ile tasarlanmaktadır. Ayrıca her bir şeklin belirli bir anlamı bulunmaktadır. Bu anlamlara göre algoritmada yer alan her adım daha kolay bir şekilde açıklanabilecektir.
Aşağıda ise akış şeması ile ilgili bilgiler yer almaktadır:
Örnekler
En Büyük Sayıyı Bulma Algoritması
50 tane not olsun ve rastagele olarak sıralanmışlardır. i adım sayısını, notlar(i) ilgili i değerine gelen sıradaki nottur. max ise bulunan en büyük nottur.
1. max ← notlar1, i←2
2. i ≤ 50 ise 3. adıma, değilse 5. adıma git.
3. notlar(i) > max ise max ← notlar(i)
4. i ← i + 1 ve 2. adıma dön.
5. en yüksek not: max
Sayı Tahmin Etme Algoritması
En küçük sayı taban, en büyük sayı tavan, akılda tutulan sayı ise tutulan, tahmin edilen sayı ise söylenen isimleri verilsin. Bu he bir değişkenin veri tipi ise sayıdır.
• 1.YÖNTEM : Algoritma 1. Alt sınırdan başla, bulana kadar birer artırarak ilerle.
1. söylenen ← taban
2. söylenen = tutulan ise buldun, dur
3. söylenen ← söylenen + 1 ve 2. adıma dön
• 2.YÖNTEM : Algoritma 1. Alt sınırdan başla, bulana kadar birer artırarak ilerle.
1. alt ← taban, üst ← tavan
2. söylenen ← (alt + üst) / 2
3. söylenen = tutulan ise buldun, dur
4. söylenen > tutulan ise üst ← soylenen - 1, değilse alt ← söylenen + 1 ve 2. adıma
dön.
Algoritma Karşılaştırma
Hız : En kötü durum veya ortalama durum için incelenir. Hangi algoritma daha hızlı bulur.
Bellek : Hangi algoritma bellekte daha fazla yer kaplamaktadır?
Bu iki duruma göre çeşitli algoritmalar geliştirilebilmektedir.
Sözde Kod
Algoritmayı konuşma tarzına yakın olacak şekilde ve akış şeması gibi olmadan yazı halinde anlatan bir yöntemdir.
Popüler 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ı
YouTube videosu: