IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Konuyu Değerlendir Stil
Alt 29 Eylül 2022, 13:10   #1
Çevrimdışı
Tefeci'nin Kızı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Algoritma Nedir, Algoritma Analizi nasıl yapılır?




[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Algoritma Nedir?
Algoritma, istenen çıktıyı elde etmek için belirli bir sırayla yürütülecek bir dizi talimatı tanımlayan adım adım bir prosedürdür. Algoritmalar genellikle temel, dillerden bağımsız, olarak oluşturulur yani bir algoritma birden fazla programlama dilinde uygulanabilir.

Veri yapısı açısından, algoritmalar arama, sıralama, ekleme, güncelleme, silme olarak kategorilerine ayrılabilir.

Bir Algoritmanın Özellikleri

Tüm prosedürlere algoritma denemez. Bir algoritma aşağıdaki özelliklere sahip olmalıdır.

Açık - Algoritma açık olmalıdır. Adımlarının (veya aşamalarının) her biri ve bunların girdi / çıktıları açık olmalı ve sadece bir anlam içermeli.
Girdi - Bir algoritmanın 0 veya daha fazla iyi tanımlanmış girdisi olmalıdır.
Çıktı - Bir algoritmanın 1 veya daha fazla iyi tanımlanmış çıktısı olmalı ve istenen çıktıyla eşleşmelidir.
Sonluluk - Algoritmalar, sınırlı sayıda adımdan sonra sona ermelidir.
Uygulanabilirlik - Mevcut kaynaklar ile uygulanabilir olmalıdır.
Bağımsız - Bir algoritma, herhangi bir programlama kodundan bağımsız olması gereken adım adım talimatlara sahip olmalıdır.
Bir Algoritma Nasıl Yazılır?

Algoritmalar yazmak için iyi tanımlanmış standartlar yoktur. Aksine, soruna ve kaynağa bağlıdır. Algoritmalar hiçbir zaman belirli bir programlama kodunu desteklemek için yazılmaz.

Tüm programlama dillerinin döngüler (do, for, while), flow-control (if-else) vb. gibi temel kod yapılarını paylaştığını bildiğimiz gibi, bu ortak yapılar bir algoritma yazmak için kullanılabilir.

Algoritmaları adım adım yazıyoruz, ancak her zaman böyle değildir. Algoritma yazma işlemi bir işlemdir ve sorun etki alanı iyi tanımlandıktan sonra yürütülür. Yani, kendisi için bir çözüm tasarladığımız problem alanını bilmeliyiz.

Bir örnek kullanarak algoritma yazmayı inceleyelim.

Sorun - İki sayı toplamak ve sonucu görüntülemek için bir algoritma tasarlayalım.

Adım 1 - BAŞLAT
Adım 2 - Üç tamsayı a, b ve c tanımlayın
Adım 3 - a ve b'nin değer atamalarını yapın
Adım 4 - a ve b değerlerini toplayın
Adım 5 - Adım 4'ün çıktısını c'ye kaydedin
Adım 6 - c değerini yazdır
Adım 7 - DURDUR
Algoritmalar programcılara programı nasıl kodlayacağını anlatır. Alternatif olarak, algoritma şu şekilde yazılabilir:

Adım 1 - TOPLAMAYI BAŞLAT
Adım 2 - a ve b değerlerini alın
Adım 3 - c ← a + b
Adım 4 - c değerini ekrana yaz
Adım 5 - DURDUR
Algoritmaların tasarımında ve analizinde, bir algoritmayı tanımlamak için genellikle ikinci yöntem kullanılır. Analistin tüm istenmeyen tanımları göz ardı ederek algoritmayı analiz etmesini kolaylaştırır. Hangi işlemlerin kullanıldığını ve sürecin nasıl aktığını gözlemleyebilir.

Adım numaraları yazmak isteğe bağlıdır.

Belirli bir sorunun çözümünü bulmak için bir algoritma tasarlıyoruz. Bir problem birden fazla yolla çözülebilir. Bu nedenle, belirli bir sorun için birçok çözüm algoritması türetilebilir.

Algoritma Analizi

Bir algoritmanın etkinliği, uygulamadan önce ve uygulamadan sonra iki farklı aşamada analiz edilebilir.

Priori Analizi - Bir algoritmanın teorik analizidir. Bir algoritmanın etkinliği, diğer tüm faktörlerin, örneğin işlemci hızının sabit olduğu ve uygulama üzerinde hiçbir etkisi olmadığı varsayılarak ölçülür.
Posterior Analizi - Bu bir algoritmanın deneysel bir analizidir. Seçilen algoritma programlama dili kullanılarak uygulanır. Bu daha sonra hedef bilgisayar makinesinde yürütülür. Bu analizde, çalışma süresi ve gerekli alan gibi gerçek istatistikler toplanır.
Algoritma analizi, ilgili çeşitli işlemlerin yürütülmesi veya çalışma süresi ile ilgilidir. Bir işlemin çalışma süresi, işlem başına yürütülen bilgisayar talimatı sayısı olarak tanımlanabilir.

Algoritma Karmaşıklığı

X'in bir algoritma olduğunu ve n'nin giriş verilerinin boyutu olduğunu varsayalım, X algoritması tarafından kullanılan zaman ve alan, X'in verimliliğine karar veren iki ana faktördür.

Zaman Faktörü - Zaman, sıralama algoritmasındaki karşılaştırmalar gibi önemli işlemlerin sayısı hesaplanarak ölçülür.
Alan Faktörü - Alan, algoritmanın gerektirdiği maksimum bellek alanı sayılarak ölçülür.
Bir f(n) algoritmasının karmaşıklığı, çalışma süresini ve/veya gerekli depolama alanını giriş verilerinin boyutu olarak n cinsinden verir.

Alan Karmaşıklığı

Bir algoritmanın alan karmaşıklığı, algoritmanın yaşam döngüsünde ihtiyaç duyduğu bellek alanı miktarını temsil eder. Bir algoritmanın gerektirdiği alan, aşağıdaki iki bileşenin toplamına eşittir.

Sorunun boyutundan bağımsız olarak belirli verileri ve değişkenleri depolamak için gereken bir boşluk olan sabit bir bölüm. Örneğin, kullanılan basit değişkenler ve sabitler, program boyutu vb.
Değişken bölüm, boyutu sorunun boyutuna bağlı olan değişkenler için gereken bir alandır. Örneğin, dinamik bellek ayırma, özyineleme yığın alanı vb.
Zaman Karmaşıklığı

Bir algoritmanın zaman karmaşıklığı, algoritmanın tamamlanması için gereken süreyi temsil eder. Zaman gereksinimleri sayısal bir fonksiyon T (n) olarak tanımlanabilir; burada T (n), her bir adımın sabit zaman tüketmesi koşuluyla adım sayısı olarak ölçülebilir.

__________________
''Zamanın Eli Değdi Bize
Artık Aynı Değiliz
İkimiz de''


Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Var
Mesaj Yazma Yetkiniz Var
Eklenti Yükleme Yetkiniz Var
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Algoritma Nedir? Violent Sözlük 0 10 Şubat 2014 23:41
Google'dan 17,5 saatte bir yeni algoritma! System Arama Motorları Haberleri 1 01 Eylül 2011 18:52
C Algoritma Geliştirme.. toXic C ve C++ 0 08 Mart 2010 20:53