YZM 3207- ALGORİTMA ANALİZİ VE ?· – Bubble sort – Insertion sort – Merge sort – Heap sort…

  • Published on
    21-Jul-2019

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • YZM 3207- ALGORTMA ANALZ VE TASARIM

    DERS#1: ALGORTMA KAVRAMI

  • Algoritma Nedir?

    Algoritma Bir problemin zm iin gelitirilmi zel metot

    Girdileri ktlara dntren sral hesaplama admlar

    Tanmlanm bir problemin zm iin kullanlan ara

    Bir problemin zm iin izlenilen sral ve anlalr buyruklar

  • Algoritma Hedefi

    Algoritma ile hedeflenen

    Sonlu bir zaman iinde

    Belirli girdiler ile

    stenilen kty elde etmek

  • Nasl bir algoritma?

    Bir algoritma

    Birden fazla biimde sunulabilmeli

    Net ve anlalr olmaldr

    Etkin ve faydal olmaldr

    Sonlu veya sonlandrlabilir olmaldr

    Gelitirildii problem iin doru olmaldr

  • Algoritmann Tarihesi

    El Harezmi 9. yyda yaam bir matematiki

    Algoritma ve cebir kavramlarnn babas olarak bilinir

    0 saysn ve x bilinmeyenini ilk kullanan kii

    Euclid En byk ortak bleni bulma

    problemi iin gelitirdii zm ilk algoritmalardan biri olarak kabul ediliyor

  • En Byk Ortak Bleni Bulma Problemi

    EBOB (Greater Common Divisor - gcd) bulma problemi

    ki negatif olmayan tam sayy kalansz blen en byk saynn bulunmas

    gcd(m, n) = ?

    Euclid zm

    (m mod n) ileminin sonucu 0 olana kadar

    gcd(m, n) = gcd(n, m mod n) ilemini tekrar et

    gcd(60, 24) = gcd(24, 12) = gcd(12, 0) = 12.

  • EBOB Problemi Euclid zm

    (m mod n) ileminin sonucu 0 olana kadar gcd(m, n) = gcd(n, m mod n) ilemini tekrar et

    gcd(60, 24) = gcd(24, 12) = gcd(12, 0) = 12.

    Adm 1 : Eer n = 0 ise m deerini sonu olarak dndr ve dur Deil ise 2. adma git

    Adm2 : (m / n) ilemini yap, kalan rye ata. Adm 3 : n deerini mye ata, r deerini nye ata (m = n, n = r).

    Adm 1 dn.

    Szde Kod

  • EBOB Problemi

    Euclidin algoritmasnn sonu var m?

    N deeri her iterasyonda klyor.

    0dan daha kk, negatif, olamayaca biliniyor.

    ki pozitif saynn blme ileminden negatif say veya kalan kamaz.

    Er yada ge sfra ulaarak algoritma duracaktr.

  • EBOB Problemi Ardk Tamsay Kontrol Algoritmas ile zm

    (Consecutive integer checking algorithm) EBOB (m,n) ikilisinin kk olanndan daha byk olamaz

    Min(m,n) deerinin EBOB olup olmad kontrol edilir Min(m,n) EBOB ise ilem sonlanr,

    Deil ise bir azaltlarak tekrar kontrol edilir (min(m,n)--)

    Algoritma Adm1: min{m, n} deerini tye ata. Adm 2: (m / t) ilemini yap, Eer kalan = 0 ise Adm 3e git;

    Deil ise adm 4e git Adm 3 : (n/t) ilemini yap. Eer kalan = 0 ise t deerini

    sonu olarak dndr Deil ise adm 4e git

    Adm 4: t deerini 1 azalt, Adm 2ye git

  • EBOB Problemi

    Euclidin algoritmasndan farkl olarak bu algoritma

    Deerlerden biri 0 ise doru almaz (Neden?)

    Algoritma girdilerinin kesin ve dikkatli bir ekilde belirlenmesi gereklilii ve nemi

  • EBOB Problemi

    Asal arpanlara Ayrma EBOBu bulunacak saylar asal arpanlarna ayrlr

    Ortak asal arpanlarn arpm EBOBu verir

    Adm 1 : mnin asal arpanlarn bul

    Adm 2: nnin asal arpanlarn bul

    Adm 3: Adm1 ve Adm2de hesaplanan asal arpanlardan ortak olanlar belirle

    Adm 4: Ortak asal arpanlar arp

  • EBOB Problemi

    Asal arpanlara ayrma algoritmann ilem karmakl Euclidin algoritmasndan daha fazla

    Asal arpanlara ayrma ileminin algoritmas ak deil

    Eratosthenesin Eleme Algoritmas?

  • Asal Saylar Bulma

    Eratosthenesin Eleme Algoritmas?

    2 ile n arasndaki asal saylar bulmak iin kullanlr

    1. iterasyonda 2nin katlar

    2. iterasyonda 3n katlar

    3. iterasyonda 5in katlar elenir (?)

  • Asal Saylar Bulma

  • Algoritma Tasarm ve Analiz Sreci

  • Algoritma Tasarm ve Analiz Sreci

    Problemin Anlalmas

    Problem net bir ekilde ifade edilmeli

    Anlalmayan hususlar iin sorular

    Gerekliyse elle iletme

    stisnai durumlar?

    Kullanlacak Donanmn Yetenekleri

    RAM model

    Birok temel algoritmann denendii sistem

  • Algoritma Tasarm ve Analiz Sreci

    Kesin Sonu Yaklak Sonu Seimi Tam sonuca ulalabilir mi? (Exact Algorithm)

    Yaklak sonu mu bulunacak? (ApproximationAlgorithm) Lineer olmayan denklemler

    Karekk

    Baz durumlarda kesin sonuca ulamak iin Uzun ilem sresi

    Karmak ilemler gerekiyorsa yaklak sonu kabul edilebilir

  • Algoritma Tasarm ve Analiz Sreci

    Algoritma Tasarm Tekniinin Belirlenmesi

    Algoritma Tasarm Teknii

    zm iin kullanlabilecek algoritmik bir yaklam

    eitli hesaplama problemlerinde uygulanabilir olmal

    Algoritma Tasarm ve Veri Yaplar

    Bellek kullanm

    Veri tr

    Donanm?

  • Algoritma Tasarm ve Analiz Sreci

    Algoritma Aklama Yntemleri

    Ak diyagram

    Szde kod

    Kelimeler ile anlatm

    Algoritmann doruluunun kantlanmas

    Denemeler

    stisnalar

    spatlar

  • Algoritma Tasarm ve Analiz Sreci

    Algoritmann Analizi

    Algoritmann doruluu en nemli unsur

    Etkinlik

    Zaman Etkinlii

    Basitlik

    Algoritmann kodlanmas

    Belirlenen zelliklerin, veri yaplarnn uygulanabilecei bir dil seilmesi

  • nemli Problem Trleri

    Sralama

    Arama

    String lemleri

    Graph problemleri

    Kombinasyonel Problemler

    Geometrik problemler

    Nmerik problemler

  • nemli Problem Trleri

    Sralama Bir listedeki eleri artan srada dzenlemek

    Girdi : n adet saydan oluan dizi

    kt : Girdinin a1 a2 a

    n. eklinde yeniden dzenlenmesi

    Neden Sralama? Arama ilemini kolaylatrmak

    Birok algoritmann altyordam

    Sralama Anahtar Veri btnnn sralamay ynlendirmek iin seilmi zel paras

    Bir baar listesinin sralanmas (sme, numaraya, nota gre)

  • nemli Problem Trleri rnek sralama algoritmalar

    Selection

    Bubble sort

    Insertion sort

    Merge sort

    Heap sort

    Sralama algoritmas karmakln deerlendirmek Yaplan Karlatrma says

    Sralama algoritmalar iin iki nemli zellik Stabilite: ki eit elemann birbirlerine gre sralanmadan nceki pozisyonlarnda kalmas

    Bir dizide birbirine eit iki eleman var.

    Sralamadan nceki konumlar i ve j, i

  • nemli Problem Trleri

    Arama Bir deeri verilen veri seti iinde bulma

    Sralama algoritmas rnekleri Sral arama

    kili arama

    Her durum iin ideal arama algoritmas yok Hzl fakat fazla bellek alan

    Sadece sral verilerde arama

  • nemli Problem Trleri

  • nemli Problem Trleri

    Sral dizi ierisinde 19 deeri aranyor

    1,2,3,5,6,7,8,10,12,13,15,16,18,19,20,22

    1,2,3,5,6,7,8,10

    12,13,15,16,18,19,20,22

    12,13,15,16

    18,19,20,22

    18,19

    20,22

  • nemli Problem Trleri

    String leme

    String

    Bir alfabede yer alan karakterlerden olumu dizi

    Alfabetik, nmerik, zel karakterlerden oluabilir

    rnek

    Bir metin ierisinde www ifadesini aramak

    @ karakterini aramak

    Derleyiciler

  • nemli Problem Trleri

    Graph Problemleri Graph

    Birbirine snr ad verilen hatlarla bal noktalar grubu

    Gerek hayat problemleri WWW modellemesi

    Haberleme alar

    Proje planlamas

    Graph rnekleri En ksa yol

    Topolojik sralama

  • nemli Problem Trleri

    Kombinasyonel problemler eitli kstllklar salayan kombinasyonel

    zmlerin bulunmas Maksimum deer, minimum maliyet

    Sorunlar Probleme gre kombinasyonel zmler ok

    byyebilir

    Bu tip problemleri, kabul edilebilir bir srede zebilecek bilinen bir algoritma yok

  • nemli Problem Trleri

    Geometrik problemler Nokta, doru, okgen gibi geometrik nesneler ile

    ilgilenen formlleri

    Uygulama Alanlar Robotik Bilgisayar Grafikleri Tomografi

    En bilinen problemler En yakn ift (Closest Pair) Dbkey gvde (Convex Hull)

  • nemli Problem Trleri

    Nmerik Problemler

    Yaklak zme ulalm problemlerin kesin sonuca ulatrlmaya allmas

    Denklem, denklem sistemi zmleri

    Kstl integraller

  • En Yakn ift Problemi

    NOKTA X KOORDNATI Y KOORDNATI

    A 3 2

    B 2 5

    C 5 -3

    D -2 0

    E 4 6

    F 0 -4

    Verilen nokta kmesi ierisinde birbirine en yakn noktalar bulmak

    ki Nokta Aras Mesafe : (1 2 )^2 + (1 2 )^2

  • Metin Arama

    Bir metin ierisinde aranan ifadeyi bulmak

    Byk / Kk Harf duyarll ?

    Tam uyum / Ek alm ?

Recommended

View more >