SlideShare uma empresa Scribd logo
1 de 52
Algoritmalar
   6.046J/18.401J
                     DERS 1
                     Algoritmaların
                     Çözümlemesi
                     •Araya yerleştirme sıralaması
                     •Asimptotik çözümleme
                     •Birleştirme sıralaması
                     •Yinelemeler

Prof. Charles E. Leiserson
 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
Kaynaklar
1.Bilgisayar Programlama ve Yazılım
  Mühendisliğinde Veri Yapıları ve
  Algoritmalar, Rıfat Çölkesen, 8. baskı, 2012.

2.Introduction to Algorithms,Thomas H.
  Cormen, Charles E. Leiserson, Ronald L.
  Rivest, Clifford Stein, 3rd Edition, 2009.



                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                      L1.2
Algoritmaların çözümlemesi
Bilgisayar program performansı ve kaynak
kullanımı konusunda teorik çalışmalar
SORU: Performanstan daha önemli ne vardır ?
   • modülerlik      • kullanıcı dostluğu
   • doğruluk        • programcı zamanı
   • bakım kolaylığı • basitlik
       • işlevsellik                                • genişletilebilirlik
       • sağlamlık                                  • güvenilirlik

                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                      L1.3
Neden algoritmalar ve
          performans ile uğraşırız?
• Algoritmalarla ölçeklenebilirlik anlaşılabilir.
• Performans genelde yapılabilir olanla
  imkansızın arasındaki çizgiyi tanımlar.
• Algoritmik matematik program davranışlarını
  açıklamak için ortak dil oluşturur.
• Performans bilgi işleme'nin para birimidir.
• Program performansından alınan dersler
diğer bilgi işleme kaynaklarına genellenebilir.
• Hız eğlencelidir!
                      Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
  September 7, 2005                 Introduction to Algorithms                      L1.4
Sıralama (sorting) problemi

Girdi: dizi < a1, a2, …, an > sayıları.

Çıktı: permütasyon                            < a'1, a'2, …, a'n >
                     öyle ki                  a'1 ≤ a'2 ≤ … ≤ a'n .

                                            Örnek:
Girdi:                8          2          4    9                        3          6
Çıktı:                2          3            4             6             8          9
                       Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
 September 7, 2005                   Introduction to Algorithms                          L1.5
Araya yerleştirme sıralaması (Insertion sort)

                                  INSERTION-SORT (A, n)     ⊳ A[1 . . n]
                                  for j ← 2 to n
                                         do key ← A[ j]
“pseudocode”                                 i←j–1
  ( sözdekod,                                 while i > 0 and A[i] > key
                                                  do A[i+1] ← A[i]
   yalancıkod )
                                                      i←i–1
                                              A[i+1] = key (anahtar)




                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                      L1.6
Araya yerleştirme sıralaması (Insertion sort)

                                  INSERTION-SORT (A, n)     ⊳ A[1 . . n]
                                  for j ← 2 to n
                                         do key ← A[ j]
“pseudocode”                                 i←j–1
  ( sözdekod,                                 while i > 0 and A[i] > key
                                                  do A[i+1] ← A[i]
   yalancıkod )
                                                      i←i–1
                                              A[i+1] = key (anahtar)
              1             i                      j                              n
   A:
                                                key (anahtar)
   sorted (sıralı)
                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                          L1.7
Araya yerleştirme sıralaması örneği

                    8          2             4             9             3            6




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.8
Araya yerleştirme sıralaması örneği

                    8          2             4             9             3            6




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.9
Araya yerleştirme sıralaması örneği
                    8           2            4             9             3            6
                    2           8            4             9             3            6




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.10
Araya yerleştirme sıralaması örneği

                    8          2             4             9             3            6
                    2          8             4             9             3            6




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.11
Araya yerleştirme sıralaması örneği
                    8           2            4             9             3            6
                    2           8            4             9             3            6
                    2           4            8             9             3            6




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.12
Araya yerleştirme sıralaması örneği

                    8          2             4             9             3            6
                    2          8             4             9             3            6
                    2          4             8             9             3            6




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.13
Araya yerleştirme sıralaması örneği
                    8           2            4             9             3            6
                    2           8            4             9             3            6
                    2           4            8             9             3            6
                    2           4            8             9             3            6




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.14
Araya yerleştirme sıralaması örneği

                    8          2             4             9             3            6
                    2          8             4             9             3            6
                    2          4             8             9             3            6
                    2          4             8             9             3            6




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.15
Araya yerleştirme sıralaması örneği
                    8           2            4             9             3            6
                    2           8            4             9             3            6
                    2           4            8             9             3            6
                    2           4            8             9             3            6
                    2           3            4             8             9            6



                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.16
Araya yerleştirme sıralaması örneği

                    8          2             4             9             3            6
                    2          8             4             9             3            6
                    2          4             8             9             3            6
                    2          4             8             9             3            6
                    2          3             4             8             9            6


                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                          L1.17
Araya yerleştirme sıralaması örneği
                    8           2            4             9             3            6
                    2           8            4             9             3            6
                    2           4            8             9             3            6
                    2           4            8             9             3            6
                    2           3            4             8             9            6
                    2           3            4             6             8            9 (bitti)

                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                     Introduction to Algorithms                            L1.18
Çalışma zamanı (Running
                                               time)
• Çalışma zamanı girişe bağımlıdır: Önceden
  sıralanmış bir diziyi sıralamak daha kolaydır.
• Çalışma zamanının girişin boyutuna göre
  parametrelenmesi yararlıdır, çünkü kısa dizileri
  sıralamak uzun dizilere oranla daha kolaydır.
• Genellikle, çalışma zamanında üst sınırları
  ararız, çünkü herkes garantiden hoşlanır.


                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                      L1.19
Çözümleme türleri
      En kötü durum (Worst-case):
      (genellikle)
      •T(n) = n boyutlu bir girişte
      algoritmanın maksimum süresi
      Ortalama durum: (bazen)
      •T(n) = n boyutlu her girişte algoritmanın
      beklenen süresi.
      •Girişlerin istatistiksel dağılımı için
      varsayım gerekli.
      En iyi durum: (gerçek dışı)
      •Bir giriş yapısında hızlı çalışan yavaş bir
             Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
      algoritma ile hile yapmak.
September 7, 2005     Introduction to Algorithms L1.20
Makineden-bağımsız zaman

  Araya yerleştirme sıralamasının en kötü zamanı nedir?
  •Bilgisayarın hızına bağlıdır:
    • bağıl ( rölatif ) zaman ( aynı makinede),
    • mutlak (absolüt ) zaman (farklı makinelerde).
  BÜYÜK FİKİR:
  •Makineye bağımlı sabitleri görmezden gel.
  •n → ∞ ' a yaklaştıkça, T(n)'nin büyümesine bak.
                            " Asimptotik Analiz"
                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                      L1.21
Θ- notasyonu (notation)

Matematik:
 Θ(g(n)) = { f (n) : Öyle c1, c2, n0 pozitif sabit sayıları
 vardır ki tüm n ≥ n0} için 0 ≤ c1 g(n) ≤ f (n) ≤ c2 g(n).

Mühendislik:

  •Düşük değerli terimleri at; ön sabitleri ihmal
                       et.
• Örnek: 3n3 + 90n2 – 5n + 6046 = Θ (n3)
                      Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
 September 7, 2005                  Introduction to Algorithms                      L1.22
Asimptotik performans
   n yeterince büyürse, Θ(n2) algoritması
   bir Θ(n3) algoritmasından her zaman daha
   hızlıdır.                •Öte yandan asimptotik açıdan
                                                         yavaş algoritmaları ihmal
                                                         etmemeliyiz.
                                                         •Gerçek dünyada tasarımın
                                                         mühendislik hedefleriyle
T(n)                                                     dikkatle dengelenmesi
                                                         gereklidir.
                                                         •Asimptotik analiz
                                                         düşüncemizi yapılandırmada
                         n          n0                   önemli bir araçtır.
                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
   September 7, 2005                  Introduction to Algorithms                      L1.23
Araya yerleştirme sıralaması çözümlemesi

 En kötü durum: Giriş tersten sıralıysa.
                       n
T ( n ) = ∑ Θ( j ) = Θ( n )                                       2
                                                                            [aritmetik seri]
                      j =2
Ortalama durum:Tüm permutasyonlar eşit olasılıklı.
                      n
T ( n ) = ∑ Θ ( j / 2) = Θ ( n )                                        2

                     j =2
Araya yerleştirme sıralaması hızlı bir algoritma mıdır ?
•Küçük n değerleri için olabilir.
•Büyük n değerleri için asla!
                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
 September 7, 2005                        Introduction to Algorithms                      L1.24
Birleştirme sıralaması

         BİRLEŞTİRME-SIRALAMASI A[1 . . n]
         1. Eğer n = 1 ise, işlem bitti.
         2. A[1... n / 2 ] ve A[  n / 2 + 1...n] ’yi
         özyinelemeli sırala.
         3. 2 sıralanmış listeyi “Birleştir”.

         Anahtar altrutin: Birleştirme


                     Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                  Introduction to Algorithms                      L1.25
Sıralı iki altdiziyi birleştirme

20 12
13 11
7       9
2       1




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                 Introduction to Algorithms                      L1.26
Sıralı iki altdiziyi birleştirme

20 12
13 11
7       9
2       1

    1




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                 Introduction to Algorithms                      L1.27
Sıralı iki altdiziyi birleştirme

20 12             20 12
13 11             13 11
7       9          7    9
2       1         2

    1




                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                 Introduction to Algorithms                      L1.28
Sıralı iki altdiziyi birleştirme

20 12             20 12
13 11             13 11
7       9          7        9
2       1         2

    1                   2




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                      L1.29
Sıralı iki altdiziyi birleştirme

20 12             20 12                 20 12
13 11             13 11                 13 11
7       9          7        9            7       9
2       1         2

    1                   2




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                      L1.30
Sıralı iki altdiziyi birleştirme

20 12             20 12                 20 12
13 11             13 11                 13 11
7       9          7        9            7       9
2       1         2

    1                   2                    7




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                      L1.31
Sıralı iki altdiziyi birleştirme

20 12             20 12                 20 12                 20 12
13 11             13 11                 13 11                 13 11
7       9          7        9            7       9                       9
2       1         2

    1                   2                    7




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                      L1.32
Sıralı iki altdiziyi birleştirme

20 12             20 12                 20 12                 20 12
13 11             13 11                 13 11                 13 11
7       9          7        9            7       9                       9
2       1         2

    1                   2                    7                     9




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                      L1.33
Sıralı iki altdiziyi birleştirme

20 12             20 12                 20 12                 20 12                 20 12
13 11             13 11                 13 11                 13 11                 13 11
7       9          7        9            7       9                       9
2       1         2

    1                   2                    7                     9




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                        L1.34
Sıralı iki altdiziyi birleştirme

20 12             20 12                 20 12                 20 12                 20 12
13 11             13 11                 13 11                 13 11                 13 11
7       9          7        9            7       9                       9
2       1         2

    1                   2                    7                     9                      11




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                           L1.35
Sıralı iki altdiziyi birleştirme

20 12             20 12                 20 12                 20 12                 20 12      20 12
13 11             13 11                 13 11                 13 11                 13 11      13
7       9          7        9            7       9                       9
2       1         2

    1                   2                    7                     9                      11




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                           L1.36
Sıralı iki altdiziyi birleştirme

20 12             20 12                 20 12                 20 12                 20 12      20 12
13 11             13 11                 13 11                 13 11                 13 11      13
7       9          7        9            7       9                       9
2       1         2

    1                   2                    7                     9                      11        12




                            Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                     Introduction to Algorithms                           L1.37
Sıralı iki altdiziyi birleştirme

20 12             20 12             20 12                 20 12                 20 12   20 12
13 11             13 11             13 11                 13 11                 13 11   13
7       9          7    9            7       9                       9
2       1         2

    1 2                 7                      9                     11                      12

         Süre = Θ(n), toplam n elemanı
         birleştirmek için (doğrusal zaman).
                        Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
    September 7, 2005                 Introduction to Algorithms                        L1.38
Birleştirme sıralamasının çözümlenmesi

          T(n)    BİRLEŞTİRME-SIRALAMASI A[1 . . n]
          Θ(1)    1.Eğer n = 1'se, bitir.
          2T(n/2) 2.Yinelemeli olarak
                    A[1... n / 2 ] ve A[  n / 2 + 1...n] 'yi
          Θ(n)
                               sırala.
Özensizlik:                 3. 2 sıralı listeyi “Birleştir”
                                                     olması
gerekir, ama asimptotik açıdan bu önemli değildir.
                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                      L1.39
Birleştirme sıralaması için
         yineleme
                              Θ(1) eğer n = 1ise;
             T(n) =
                              2T(n/2) + Θ(n) eğer n > 1ise.

• Genellikle n'nin küçük değerleri için taban
  durumu ( base case ) olan T(n) = Θ(1) 'i
  hesaplara katmayacağız; ama bunu sadece
  yinelemenin asimptotik çözümünü
  etkilemiyorsa yapacağız.
• 2. Derste T(n)'nin üst sınırını bulmanın birkaç
  yolunu inceleyeceğiz.
                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                      L1.40
Yineleme ağacı
T(n) = 2T(n/2) + cn'yi çözün; burada c > 0 bir sabittir.




                      Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
  September 7, 2005                 Introduction to Algorithms                      L1.41
Yineleme ağacı
T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.
                                             T(n)




                      Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
  September 7, 2005                 Introduction to Algorithms                      L1.42
Yineleme ağacı
T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
sabittir.
                         cn
           T(n/2)               T(n/2)




                      Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
  September 7, 2005                 Introduction to Algorithms                      L1.43
Yineleme ağacı
T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
sabittir.
                         cn
            cn/2                 cn/2

            T(n/4)             T(n/4)                  T(n/4)                   T(n/4)




                      Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
  September 7, 2005                 Introduction to Algorithms                           L1.44
Yineleme ağacı
T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
sabittir.'
                         cn
            cn/2                 cn/2

              cn/4                cn/4                   cn/4                       cn/4
           …




          Θ(1)

                      Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
  September 7, 2005                 Introduction to Algorithms                             L1.45
Yineleme ağacı
 T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
 sabittir.
                          cn
             cn/2                 cn/2
h = lg n cn/4                      cn/4                   cn/4                       cn/4
            …




           Θ(1)

                       Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
   September 7, 2005                 Introduction to Algorithms                             L1.46
Yineleme ağacı
 T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
 sabittir.
                         cn                                                                   cn
             cn/2                 cn/2
h = lg n cn/4                      cn/4                   cn/4                       cn/4
            …




        Θ(1)

                       Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
   September 7, 2005                 Introduction to Algorithms                             L1.47
Yineleme ağacı
 T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
 sabittir.               cn                    cn
                       cn/2                                            cn/2                  cn
h = lg n cn/4                      cn/4                   cn/4                       cn/4
            …




       Θ(1)

                       Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
   September 7, 2005                 Introduction to Algorithms                             L1.48
Yineleme ağacı
 T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
 sabittir.               cn                    cn
                       cn/2                                            cn/2                  cn
h = lg n cn/4                      cn/4                   cn/4                       cn/4    cn
            …




           Θ(1)

                       Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
   September 7, 2005                 Introduction to Algorithms                             L1.49
Yineleme ağacı
 T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
 sabittir.               cn                    cn
                       cn/2                                            cn/2                  cn
h = lg n cn/4                      cn/4                   cn/4                       cn/4    cn
            …




           Θ(1)                     yaprak sayısı = n                                        Θ(n)

                       Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
   September 7, 2005                 Introduction to Algorithms                             L1.50
Yineleme ağacı
 T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir
 sabittir.               cn                    cn
                       cn/2                                            cn/2                  cn
h = lg n cn/4                      cn/4                   cn/4                       cn/4    cn
            …




           Θ(1)                     yaprak sayısı = n                                        Θ(n)
                                                                            Toplam = Θ(n lg n)
                       Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
   September 7, 2005                 Introduction to Algorithms                             L1.51
Sonuçlar

   • Θ(n lg n), Θ(n2)'dan daha yavaş büyür.
   • En kötü durumda, birleştirme sıralaması
       asimptotik olarak araya yerleştirme
       sıralamasından daha iyidir.
   • Pratikte, birleştirme sıralaması araya
     yerleştirme sıralamasını n > 30 değerlerinde
       geçer.
   • Bunu kendiniz deneyin!
                    Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
September 7, 2005                 Introduction to Algorithms                      L1.52

Mais conteúdo relacionado

Destaque

dene/TIVIACE_turkce.pdf
dene/TIVIACE_turkce.pdfdene/TIVIACE_turkce.pdf
dene/TIVIACE_turkce.pdfBatın Düz
 
Joanmateu fiem pac1
Joanmateu fiem pac1Joanmateu fiem pac1
Joanmateu fiem pac1decosigma
 
Healthcare Startups Grin at Growth Prospects in India
Healthcare Startups Grin at Growth Prospects in IndiaHealthcare Startups Grin at Growth Prospects in India
Healthcare Startups Grin at Growth Prospects in IndiaeTailing India
 
Tarun Arora- ATOM- eTailing India Conclave Jaipur- 2013
Tarun Arora- ATOM- eTailing India Conclave Jaipur- 2013Tarun Arora- ATOM- eTailing India Conclave Jaipur- 2013
Tarun Arora- ATOM- eTailing India Conclave Jaipur- 2013eTailing India
 
Qlda 9-o vietnam[easyvn.net]
Qlda 9-o vietnam[easyvn.net]Qlda 9-o vietnam[easyvn.net]
Qlda 9-o vietnam[easyvn.net]huongntt16
 
Doing science!
Doing science!Doing science!
Doing science!betti18
 
Amanda Yee - Celebrity Consumers and Spokespersons
Amanda Yee - Celebrity Consumers and SpokespersonsAmanda Yee - Celebrity Consumers and Spokespersons
Amanda Yee - Celebrity Consumers and SpokespersonsAmanda Yee
 
What's New in NAV 2013
What's New in NAV 2013What's New in NAV 2013
What's New in NAV 2013SociusPartner
 
eTailing India Jaipur Conclave- 2013, Deepak Tulsyian
eTailing India Jaipur Conclave- 2013, Deepak TulsyianeTailing India Jaipur Conclave- 2013, Deepak Tulsyian
eTailing India Jaipur Conclave- 2013, Deepak TulsyianeTailing India
 
Kdqt eng chap003
Kdqt eng chap003Kdqt eng chap003
Kdqt eng chap003huongntt16
 
Technology Innovation Presentation By Ambab
Technology  Innovation Presentation By AmbabTechnology  Innovation Presentation By Ambab
Technology Innovation Presentation By AmbabeTailing India
 
Evaluating the Cloud
Evaluating the CloudEvaluating the Cloud
Evaluating the CloudSociusPartner
 

Destaque (13)

dene/TIVIACE_turkce.pdf
dene/TIVIACE_turkce.pdfdene/TIVIACE_turkce.pdf
dene/TIVIACE_turkce.pdf
 
Joanmateu fiem pac1
Joanmateu fiem pac1Joanmateu fiem pac1
Joanmateu fiem pac1
 
Healthcare Startups Grin at Growth Prospects in India
Healthcare Startups Grin at Growth Prospects in IndiaHealthcare Startups Grin at Growth Prospects in India
Healthcare Startups Grin at Growth Prospects in India
 
Tarun Arora- ATOM- eTailing India Conclave Jaipur- 2013
Tarun Arora- ATOM- eTailing India Conclave Jaipur- 2013Tarun Arora- ATOM- eTailing India Conclave Jaipur- 2013
Tarun Arora- ATOM- eTailing India Conclave Jaipur- 2013
 
Qlda 9-o vietnam[easyvn.net]
Qlda 9-o vietnam[easyvn.net]Qlda 9-o vietnam[easyvn.net]
Qlda 9-o vietnam[easyvn.net]
 
Doing science!
Doing science!Doing science!
Doing science!
 
Amanda Yee - Celebrity Consumers and Spokespersons
Amanda Yee - Celebrity Consumers and SpokespersonsAmanda Yee - Celebrity Consumers and Spokespersons
Amanda Yee - Celebrity Consumers and Spokespersons
 
What's New in NAV 2013
What's New in NAV 2013What's New in NAV 2013
What's New in NAV 2013
 
eTailing India Jaipur Conclave- 2013, Deepak Tulsyian
eTailing India Jaipur Conclave- 2013, Deepak TulsyianeTailing India Jaipur Conclave- 2013, Deepak Tulsyian
eTailing India Jaipur Conclave- 2013, Deepak Tulsyian
 
Prueba
PruebaPrueba
Prueba
 
Kdqt eng chap003
Kdqt eng chap003Kdqt eng chap003
Kdqt eng chap003
 
Technology Innovation Presentation By Ambab
Technology  Innovation Presentation By AmbabTechnology  Innovation Presentation By Ambab
Technology Innovation Presentation By Ambab
 
Evaluating the Cloud
Evaluating the CloudEvaluating the Cloud
Evaluating the Cloud
 

Mais de Batın Düz

dene/tiviace_english.pdf
dene/tiviace_english.pdfdene/tiviace_english.pdf
dene/tiviace_english.pdfBatın Düz
 
dene/tiviace_english.pptx
dene/tiviace_english.pptxdene/tiviace_english.pptx
dene/tiviace_english.pptxBatın Düz
 
dene/tiviace_english.pptx
dene/tiviace_english.pptxdene/tiviace_english.pptx
dene/tiviace_english.pptxBatın Düz
 
dene/TIVIACE_turkce.pdf
dene/TIVIACE_turkce.pdfdene/TIVIACE_turkce.pdf
dene/TIVIACE_turkce.pdfBatın Düz
 
dene/TIVIACE_turkce03.ppt
dene/TIVIACE_turkce03.pptdene/TIVIACE_turkce03.ppt
dene/TIVIACE_turkce03.pptBatın Düz
 
dene/TIVIACE_turkce.pptx
dene/TIVIACE_turkce.pptxdene/TIVIACE_turkce.pptx
dene/TIVIACE_turkce.pptxBatın Düz
 
dene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptdene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptBatın Düz
 
dene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptdene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptBatın Düz
 
dene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptdene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptBatın Düz
 
dene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptdene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptBatın Düz
 

Mais de Batın Düz (20)

dene/tiviace_english.pdf
dene/tiviace_english.pdfdene/tiviace_english.pdf
dene/tiviace_english.pdf
 
dene/tiviace_english.pptx
dene/tiviace_english.pptxdene/tiviace_english.pptx
dene/tiviace_english.pptx
 
dene/tiviace_english.pptx
dene/tiviace_english.pptxdene/tiviace_english.pptx
dene/tiviace_english.pptx
 
dene/TIVIACE_turkce.pdf
dene/TIVIACE_turkce.pdfdene/TIVIACE_turkce.pdf
dene/TIVIACE_turkce.pdf
 
dene/TIVIACE_turkce03.ppt
dene/TIVIACE_turkce03.pptdene/TIVIACE_turkce03.ppt
dene/TIVIACE_turkce03.ppt
 
dene/TIVIACE_turkce.pptx
dene/TIVIACE_turkce.pptxdene/TIVIACE_turkce.pptx
dene/TIVIACE_turkce.pptx
 
dene/ders1.ppt
dene/ders1.pptdene/ders1.ppt
dene/ders1.ppt
 
dene/ders2.ppt
dene/ders2.pptdene/ders2.ppt
dene/ders2.ppt
 
dene/ders1.ppt
dene/ders1.pptdene/ders1.ppt
dene/ders1.ppt
 
dene/ders2.ppt
dene/ders2.pptdene/ders2.ppt
dene/ders2.ppt
 
dene/ders2.ppt
dene/ders2.pptdene/ders2.ppt
dene/ders2.ppt
 
dene/ders2.ppt
dene/ders2.pptdene/ders2.ppt
dene/ders2.ppt
 
dene/ders2.ppt
dene/ders2.pptdene/ders2.ppt
dene/ders2.ppt
 
dene/ders2.ppt
dene/ders2.pptdene/ders2.ppt
dene/ders2.ppt
 
dene/ders2.ppt
dene/ders2.pptdene/ders2.ppt
dene/ders2.ppt
 
dene/ders2.ppt
dene/ders2.pptdene/ders2.ppt
dene/ders2.ppt
 
dene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptdene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.ppt
 
dene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptdene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.ppt
 
dene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptdene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.ppt
 
dene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.pptdene/Sunumlar/cab_abst.ppt
dene/Sunumlar/cab_abst.ppt
 

dene/ders1.ppt

  • 1. Algoritmalar 6.046J/18.401J DERS 1 Algoritmaların Çözümlemesi •Araya yerleştirme sıralaması •Asimptotik çözümleme •Birleştirme sıralaması •Yinelemeler Prof. Charles E. Leiserson Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson
  • 2. Kaynaklar 1.Bilgisayar Programlama ve Yazılım Mühendisliğinde Veri Yapıları ve Algoritmalar, Rıfat Çölkesen, 8. baskı, 2012. 2.Introduction to Algorithms,Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, 3rd Edition, 2009. Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.2
  • 3. Algoritmaların çözümlemesi Bilgisayar program performansı ve kaynak kullanımı konusunda teorik çalışmalar SORU: Performanstan daha önemli ne vardır ? • modülerlik • kullanıcı dostluğu • doğruluk • programcı zamanı • bakım kolaylığı • basitlik • işlevsellik • genişletilebilirlik • sağlamlık • güvenilirlik Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.3
  • 4. Neden algoritmalar ve performans ile uğraşırız? • Algoritmalarla ölçeklenebilirlik anlaşılabilir. • Performans genelde yapılabilir olanla imkansızın arasındaki çizgiyi tanımlar. • Algoritmik matematik program davranışlarını açıklamak için ortak dil oluşturur. • Performans bilgi işleme'nin para birimidir. • Program performansından alınan dersler diğer bilgi işleme kaynaklarına genellenebilir. • Hız eğlencelidir! Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.4
  • 5. Sıralama (sorting) problemi Girdi: dizi < a1, a2, …, an > sayıları. Çıktı: permütasyon < a'1, a'2, …, a'n > öyle ki a'1 ≤ a'2 ≤ … ≤ a'n . Örnek: Girdi: 8 2 4 9 3 6 Çıktı: 2 3 4 6 8 9 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.5
  • 6. Araya yerleştirme sıralaması (Insertion sort) INSERTION-SORT (A, n) ⊳ A[1 . . n] for j ← 2 to n do key ← A[ j] “pseudocode” i←j–1 ( sözdekod, while i > 0 and A[i] > key do A[i+1] ← A[i] yalancıkod ) i←i–1 A[i+1] = key (anahtar) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.6
  • 7. Araya yerleştirme sıralaması (Insertion sort) INSERTION-SORT (A, n) ⊳ A[1 . . n] for j ← 2 to n do key ← A[ j] “pseudocode” i←j–1 ( sözdekod, while i > 0 and A[i] > key do A[i+1] ← A[i] yalancıkod ) i←i–1 A[i+1] = key (anahtar) 1 i j n A: key (anahtar) sorted (sıralı) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.7
  • 8. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.8
  • 9. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.9
  • 10. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.10
  • 11. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.11
  • 12. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 2 4 8 9 3 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.12
  • 13. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 2 4 8 9 3 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.13
  • 14. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 2 4 8 9 3 6 2 4 8 9 3 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.14
  • 15. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 2 4 8 9 3 6 2 4 8 9 3 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.15
  • 16. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 2 4 8 9 3 6 2 4 8 9 3 6 2 3 4 8 9 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.16
  • 17. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 2 4 8 9 3 6 2 4 8 9 3 6 2 3 4 8 9 6 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.17
  • 18. Araya yerleştirme sıralaması örneği 8 2 4 9 3 6 2 8 4 9 3 6 2 4 8 9 3 6 2 4 8 9 3 6 2 3 4 8 9 6 2 3 4 6 8 9 (bitti) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.18
  • 19. Çalışma zamanı (Running time) • Çalışma zamanı girişe bağımlıdır: Önceden sıralanmış bir diziyi sıralamak daha kolaydır. • Çalışma zamanının girişin boyutuna göre parametrelenmesi yararlıdır, çünkü kısa dizileri sıralamak uzun dizilere oranla daha kolaydır. • Genellikle, çalışma zamanında üst sınırları ararız, çünkü herkes garantiden hoşlanır. Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.19
  • 20. Çözümleme türleri En kötü durum (Worst-case): (genellikle) •T(n) = n boyutlu bir girişte algoritmanın maksimum süresi Ortalama durum: (bazen) •T(n) = n boyutlu her girişte algoritmanın beklenen süresi. •Girişlerin istatistiksel dağılımı için varsayım gerekli. En iyi durum: (gerçek dışı) •Bir giriş yapısında hızlı çalışan yavaş bir Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson algoritma ile hile yapmak. September 7, 2005 Introduction to Algorithms L1.20
  • 21. Makineden-bağımsız zaman Araya yerleştirme sıralamasının en kötü zamanı nedir? •Bilgisayarın hızına bağlıdır: • bağıl ( rölatif ) zaman ( aynı makinede), • mutlak (absolüt ) zaman (farklı makinelerde). BÜYÜK FİKİR: •Makineye bağımlı sabitleri görmezden gel. •n → ∞ ' a yaklaştıkça, T(n)'nin büyümesine bak. " Asimptotik Analiz" Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.21
  • 22. Θ- notasyonu (notation) Matematik: Θ(g(n)) = { f (n) : Öyle c1, c2, n0 pozitif sabit sayıları vardır ki tüm n ≥ n0} için 0 ≤ c1 g(n) ≤ f (n) ≤ c2 g(n). Mühendislik: •Düşük değerli terimleri at; ön sabitleri ihmal et. • Örnek: 3n3 + 90n2 – 5n + 6046 = Θ (n3) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.22
  • 23. Asimptotik performans n yeterince büyürse, Θ(n2) algoritması bir Θ(n3) algoritmasından her zaman daha hızlıdır. •Öte yandan asimptotik açıdan yavaş algoritmaları ihmal etmemeliyiz. •Gerçek dünyada tasarımın mühendislik hedefleriyle T(n) dikkatle dengelenmesi gereklidir. •Asimptotik analiz düşüncemizi yapılandırmada n n0 önemli bir araçtır. Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.23
  • 24. Araya yerleştirme sıralaması çözümlemesi En kötü durum: Giriş tersten sıralıysa. n T ( n ) = ∑ Θ( j ) = Θ( n ) 2 [aritmetik seri] j =2 Ortalama durum:Tüm permutasyonlar eşit olasılıklı. n T ( n ) = ∑ Θ ( j / 2) = Θ ( n ) 2 j =2 Araya yerleştirme sıralaması hızlı bir algoritma mıdır ? •Küçük n değerleri için olabilir. •Büyük n değerleri için asla! Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.24
  • 25. Birleştirme sıralaması BİRLEŞTİRME-SIRALAMASI A[1 . . n] 1. Eğer n = 1 ise, işlem bitti. 2. A[1... n / 2 ] ve A[  n / 2 + 1...n] ’yi özyinelemeli sırala. 3. 2 sıralanmış listeyi “Birleştir”. Anahtar altrutin: Birleştirme Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.25
  • 26. Sıralı iki altdiziyi birleştirme 20 12 13 11 7 9 2 1 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.26
  • 27. Sıralı iki altdiziyi birleştirme 20 12 13 11 7 9 2 1 1 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.27
  • 28. Sıralı iki altdiziyi birleştirme 20 12 20 12 13 11 13 11 7 9 7 9 2 1 2 1 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.28
  • 29. Sıralı iki altdiziyi birleştirme 20 12 20 12 13 11 13 11 7 9 7 9 2 1 2 1 2 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.29
  • 30. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 13 11 13 11 13 11 7 9 7 9 7 9 2 1 2 1 2 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.30
  • 31. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 13 11 13 11 13 11 7 9 7 9 7 9 2 1 2 1 2 7 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.31
  • 32. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 20 12 13 11 13 11 13 11 13 11 7 9 7 9 7 9 9 2 1 2 1 2 7 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.32
  • 33. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 20 12 13 11 13 11 13 11 13 11 7 9 7 9 7 9 9 2 1 2 1 2 7 9 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.33
  • 34. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 20 12 20 12 13 11 13 11 13 11 13 11 13 11 7 9 7 9 7 9 9 2 1 2 1 2 7 9 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.34
  • 35. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 20 12 20 12 13 11 13 11 13 11 13 11 13 11 7 9 7 9 7 9 9 2 1 2 1 2 7 9 11 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.35
  • 36. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 20 12 20 12 20 12 13 11 13 11 13 11 13 11 13 11 13 7 9 7 9 7 9 9 2 1 2 1 2 7 9 11 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.36
  • 37. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 20 12 20 12 20 12 13 11 13 11 13 11 13 11 13 11 13 7 9 7 9 7 9 9 2 1 2 1 2 7 9 11 12 Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.37
  • 38. Sıralı iki altdiziyi birleştirme 20 12 20 12 20 12 20 12 20 12 20 12 13 11 13 11 13 11 13 11 13 11 13 7 9 7 9 7 9 9 2 1 2 1 2 7 9 11 12 Süre = Θ(n), toplam n elemanı birleştirmek için (doğrusal zaman). Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.38
  • 39. Birleştirme sıralamasının çözümlenmesi T(n) BİRLEŞTİRME-SIRALAMASI A[1 . . n] Θ(1) 1.Eğer n = 1'se, bitir. 2T(n/2) 2.Yinelemeli olarak A[1... n / 2 ] ve A[  n / 2 + 1...n] 'yi Θ(n) sırala. Özensizlik: 3. 2 sıralı listeyi “Birleştir” olması gerekir, ama asimptotik açıdan bu önemli değildir. Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.39
  • 40. Birleştirme sıralaması için yineleme Θ(1) eğer n = 1ise; T(n) = 2T(n/2) + Θ(n) eğer n > 1ise. • Genellikle n'nin küçük değerleri için taban durumu ( base case ) olan T(n) = Θ(1) 'i hesaplara katmayacağız; ama bunu sadece yinelemenin asimptotik çözümünü etkilemiyorsa yapacağız. • 2. Derste T(n)'nin üst sınırını bulmanın birkaç yolunu inceleyeceğiz. Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.40
  • 41. Yineleme ağacı T(n) = 2T(n/2) + cn'yi çözün; burada c > 0 bir sabittir. Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.41
  • 42. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. T(n) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.42
  • 43. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. cn T(n/2) T(n/2) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.43
  • 44. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. cn cn/2 cn/2 T(n/4) T(n/4) T(n/4) T(n/4) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.44
  • 45. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir.' cn cn/2 cn/2 cn/4 cn/4 cn/4 cn/4 … Θ(1) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.45
  • 46. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. cn cn/2 cn/2 h = lg n cn/4 cn/4 cn/4 cn/4 … Θ(1) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.46
  • 47. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/2 cn/2 h = lg n cn/4 cn/4 cn/4 cn/4 … Θ(1) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.47
  • 48. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/2 cn/2 cn h = lg n cn/4 cn/4 cn/4 cn/4 … Θ(1) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.48
  • 49. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/2 cn/2 cn h = lg n cn/4 cn/4 cn/4 cn/4 cn … Θ(1) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.49
  • 50. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/2 cn/2 cn h = lg n cn/4 cn/4 cn/4 cn/4 cn … Θ(1) yaprak sayısı = n Θ(n) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.50
  • 51. Yineleme ağacı T(n) = 2T(n/2) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/2 cn/2 cn h = lg n cn/4 cn/4 cn/4 cn/4 cn … Θ(1) yaprak sayısı = n Θ(n) Toplam = Θ(n lg n) Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.51
  • 52. Sonuçlar • Θ(n lg n), Θ(n2)'dan daha yavaş büyür. • En kötü durumda, birleştirme sıralaması asimptotik olarak araya yerleştirme sıralamasından daha iyidir. • Pratikte, birleştirme sıralaması araya yerleştirme sıralamasını n > 30 değerlerinde geçer. • Bunu kendiniz deneyin! Copyright © 2001-5 Erik D. Demaine and Charles E. Leiserson September 7, 2005 Introduction to Algorithms L1.52