🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Zeynep HABER / YETERLİLİK KONULAR / ALGORİTMALAR

1-) YETERLİLİK KONULAR - ALGORİTMALAR

 

Algoritma nedir?

belirli bir problemi çözmek için adım adım uygulanan kurallar dizisidir.

 

Algoritma aşamaları ?

=> Analiz: veri yapılarını ayarlama

=> Tasarım: İçeriğini oluşturma

=> Uygulama: Kodlama

=> Test Etme:  Doğruluğunu test etme

 

Neden algoritmayı analiz ederiz?

Algoritmanın performansını ölçmek için

Farklı algoritmalarla karşılaştırmak için

Daha iyisi mümkün mü? olabilecek en iyisi mi? sorularını cevaplamak için

 

Algoritmanın etkinliği(performansı)

1) Zaman karmaşıklığı (iç faktör): Algoritmanın zaman gereksinimi, program işletim süresi

2) Bellek karmaşıklığı (iç faktör): Algoritmanın bellek gereksinimi, programın işletildiği sürece gerekli olan yer miktarına denilir. Bellek karmaşıklığının komut, veri ve çevresel yığın uzayı olmak üzere 3 bileşeni vardır.

Komut alanı: Program komutlarının derlenmiş halinin depolanması için gerekli alandır

Veri alanı: Tüm sabit ve değişkenlerin depolanması için gerekli alandır.

Yığın alanı: Fonksiyonların kaldığı yerden çalışması için gerekli bilgilerin saklandığı alandır.

3) Dış faktörler: girdi verisinin büyüklüğü, Pc hızı, Derleyci kalitesi

 

 

ALGORİTMADA KARMAŞIKLIK(COMPLEXİTY) VE ZAMAN KARMAŞIKLIĞI ANALİZİ

 

Every-Case Running Time:

 Harcanan zaman yalnızca giriş boyutuna bağlıdır.

Örn: dizi elemanlarının toplanması => Dizideki elemanların değerinin önemi olmaksızın döngü n defa döner

 

Worst-Case Running Time:

Programın en kötü ihtimalle ne kadar süreceğini tahmin etmek için kullanılır. Harcanan zaman hem giriş boyutuna hemde giriş değerine bağlıdır.

Örn: Arama algoritmalarının en kötü durumu aranan elemanın dizide bulunamaması

Dizideki bir elemanın arananan eleman x ile kıyaslanması

W(n)=n ->worst-case -> elemanın bulunamaması

İnsertion Sortun en kötü durumu rastgele sıralanmış olmasıdır.

W(n)=n2

 

Average-Case Running Time:

Algoritmanın ortalama olarak ne kadar sürede gerçekleştiği, işletim süresi, her girdi boyutundaki tüm girdilerin ortalamasıdır.

n*(n+1)/n = n+1

 

Best-Case Running Time:

Algoritmanın en iyi ne kadar sürede gerçekleştiği

Örn: Aranan değerin ilk adımda bulunması

 

Asimptotik Analiz:

Girdi boyutu sonsuza yaklaşırken işletim süresinin ne kadar az gösterdiği asimtotik notasyonlarla ifade edilir. Algoritmanın iç detaylarına bakılarak, sabit çalışma zamanı komutları göz ardı edilerek algoritmanın çalışma zamanı bir matematiksel özdeşlik olarak yazılabilir.

 

Asimptotik analizin elemanı olan 4 önemli gösterim:

o-notation

Big O-notation

Omega - notasyon

Q notasyon

 

 

 

 2021 Aralık 22 Çarşamba
 367