Algoritma Nedir? Algoritma

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Algoritma Nedir? Algoritma"

Transkript

1 Algoritma Nedir? Algoritma Bir problemin çözümü için geliştirilmiş özel metot Girdileri çıktılara dönüştüren sıralı hesaplama adımları Tanımlanmış bir problemin çözümü için kullanılan araç «Bir problemin çözümü için izlenilen sıralı ve anlaşılır buyruklar»

2 Algoritma Hedefi Algoritma ile hedeflenen Sonlu bir zaman içinde Belirli girdiler ile İstenilen çıktıyı elde etmek

3 Nasıl bir algoritma? Bir algoritma Birden fazla biçimde sunulabilmeli Net ve anlaşılır olmalıdır Etkin ve faydalı olmalıdır Sonlu veya sonlandırılabilir olmalıdır Geliştirildiği problem için doğru olmalıdır

4 Algoritmanın Tarihçesi El Harezmi 9. yyda yaşamış bir matematikçi Algoritma ve cebir kavramlarının «babası» olarak bilinir 0 sayısını ve x bilinmeyenini ilk kullanan kişi Euclid En büyük ortak böleni bulma problemi için geliştirdiği çözüm ilk algoritmalardan biri olarak kabul ediliyor

5 En Büyük Ortak Böleni Bulma Problemi EBOB (Greater Common Divisor - gcd) bulma problemi İki negatif olmayan tam sayıyı kalansız bölen en büyük sayının bulunması gcd(m, n) =? Euclid Çözümü (m mod n) işleminin sonucu 0 olana kadar gcd(m, n) = gcd(n, m mod n) işlemini tekrar et gcd(60, 24) = gcd(24, 12) = gcd(12, 0) = 12.

6 EBOB Problemi Euclid Çözümü (m mod n) işleminin sonucu 0 olana kadar gcd(m, n) = gcd(n, m mod n) işlemini tekrar et gcd(60, 24) = gcd(24, 12) = gcd(12, 0) = 12. Adım 1 : Eğer n = 0 ise m değerini sonuç olarak döndür ve dur Değil ise 2. adıma git Adım2 : (m / n) işlemini yap, kalanı r ye ata. Adım 3 : n değerini m ye ata, r değerini n ye ata (m = n, n = r). Adım 1 dön. Sözde Kod

7 EBOB Problemi Euclid in algoritmasının sonu var mı? N değeri her iterasyonda küçülüyor. 0 dan daha küçük, negatif, olamayacağı biliniyor. İki pozitif sayının bölme işleminden negatif sayı veya kalan çıkamaz. Er yada geç sıfıra ulaşarak algoritma duracaktır.

8 EBOB Problemi Ardışık Tamsayı Kontrol Algoritması ile Çözüm (Consecutive integer checking algorithm) EBOB (m,n) ikilisinin küçük olanından daha büyük olamaz Min(m,n) değerinin EBOB olup olmadığı kontrol edilir Min(m,n) EBOB ise işlem sonlanır,» Değil ise bir azaltılarak tekrar kontrol edilir (min(m,n)--) Algoritma Adım1: min{m, n} değerini t ye ata. Adım 2: (m / t) işlemini yap, Eğer kalan = 0 ise Adım 3 e git; Değil ise adım 4 e git Adım 3 : (n/t) işlemini yap. Eğer kalan = 0 ise t değerini sonuç olarak döndür Değil ise adım 4 e git Adım 4: t değerini 1 azalt, Adım 2 ye git

9 EBOB Problemi Euclid in algoritmasından farklı olarak bu algoritma Değerlerden biri 0 ise doğru çalışmaz (Neden?) Algoritma girdilerinin kesin ve dikkatli bir şekilde belirlenmesi gerekliliği ve önemi

10 EBOB Problemi Asal Çarpanlara Ayırma EBOB u bulunacak sayılar asal çarpanlarına ayrılır Ortak asal çarpanların çarpımı EBOB u verir Adım 1 : m nin asal çarpanlarını bul Adım 2: n nin asal çarpanlarını bul Adım 3: Adım1 ve Adım2 de hesaplanan asal çarpanlardan ortak olanları belirle Adım 4: Ortak asal çarpanları çarp

11 EBOB Problemi Asal çarpanlara ayırma algoritmanın işlem karmaşıklığı Euclid in algoritmasından daha fazla Asal çarpanlara ayırma işleminin algoritması açık değil Eratosthenes in Eleme Algoritması?

12 Asal Sayıları Bulma Eratosthenes in Eleme Algoritması? 2 ile n arasındaki asal sayıları bulmak için kullanılır 1. iterasyonda 2 nin katları 2. iterasyonda 3 ün katları 3. iterasyonda 5 in katları elenir (?)

13 Asal Sayıları Bulma

14 Algoritma Tasarım ve Analiz Süreci

15 Algoritma Tasarım ve Analiz Süreci Problemin Anlaşılması Problem net bir şekilde ifade edilmeli Anlaşılmayan hususlar için sorular Gerekliyse elle işletme İstisnai durumlar? Kullanılacak Donanımın Yetenekleri RAM model Birçok temel algoritmanın denendiği sistem

16 Algoritma Tasarım ve Analiz Süreci Kesin Sonuç Yaklaşık Sonuç Seçimi Tam sonuca ulaşılabilir mi? (Exact Algorithm) Yaklaşık sonuç mu bulunacak? (Approximation Algorithm) Lineer olmayan denklemler Karekök Bazı durumlarda kesin sonuca ulaşmak için Uzun işlem süresi Karmaşık işlemler gerekiyorsa yaklaşık sonuç kabul edilebilir

17 Algoritma Tasarım ve Analiz Süreci Algoritma Tasarım Tekniğinin Belirlenmesi Algoritma Tasarım Tekniği Çözüm için kullanılabilecek algoritmik bir yaklaşım Çeşitli hesaplama problemlerinde uygulanabilir olmalı Algoritma Tasarımı ve Veri Yapıları Bellek kullanımı Veri türü Donanım?

18 Algoritma Tasarım ve Analiz Süreci Algoritma Açıklama Yöntemleri Akış diyagramı Sözde kod Kelimeler ile anlatım Algoritmanın doğruluğunun kanıtlanması Denemeler İstisnalar İspatlar

19 Algoritma Tasarım ve Analiz Süreci Algoritmanın Analizi Algoritmanın doğruluğu en önemli unsur Etkinlik Zaman Etkinliği Basitlik Algoritmanın kodlanması Belirlenen özelliklerin, veri yapılarının uygulanabileceği bir dil seçilmesi

20 Önemli Problem Türleri Sıralama Arama String İşlemleri Graph problemleri Kombinasyonel Problemler Geometrik problemler Nümerik problemler

21 Önemli Problem Türleri Sıralama Bir listedeki öğeleri artan sırada düzenlemek Girdi : n adet sayıdan oluşan dizi <a 1, a 2,, a n > Çıktı : Girdinin a 1 a 2 a n. Şeklinde yeniden düzenlenmesi Neden Sıralama? Arama işlemini kolaylaştırmak Birçok algoritmanın altyordamı Sıralama Anahtarı Veri bütününün sıralamayı yönlendirmek için seçilmiş özel parçası Bir başarı listesinin sıralanması (İsme, numaraya, nota göre)

22 Önemli Problem Türleri Örnek sıralama algoritmaları Selection Bubble sort Insertion sort Merge sort Heap sort Sıralama algoritması karmaşıklığını değerlendirmek Yapılan Karşılaştırma sayısı Sıralama algoritmaları için iki önemli özellik Stabilite: İki eşit elemanın birbirlerine göre sıralanmadan önceki pozisyonlarında kalması Bir dizide birbirine eşit iki eleman var. Sıralamadan önceki konumları i ve j, i<j Sıralamadan sonraki konumları i ve j ve i <j ise algoritma stabil bir sıralama algoritmasıdır Yerinde (In place) : Fazladan bellek alanı gerektirmeyen sıralama algortimaları İstisna olarak küçük bellek birimleri kullanabilir Dizinin tamamı kadar değil, bir değişken kadar

23 Önemli Problem Türleri Arama Bir değeri verilen veri seti içinde bulma Sıralama algoritması örnekleri Sıralı arama İkili arama Her durum için ideal arama algoritması yok Hızlı fakat fazla bellek alanı Sadece sıralı verilerde arama

24 Önemli Problem Türleri

25 Önemli Problem Türleri Sıralı dizi içerisinde 19 değeri aranıyor 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

26 Önemli Problem Türleri String İşleme String Bir alfabede yer alan karakterlerden oluşmuş dizi Alfabetik, nümerik, özel karakterlerden oluşabilir Örnek Bir metin içerisinde www ifadesini karakterini aramak Derleyiciler

27 Önemli Problem Türleri Graph Problemleri Graph Birbirine sınır adı verilen hatlarla bağlı noktalar grubu Gerçek hayat problemleri WWW modellemesi Haberleşme ağları Proje planlaması Graph örnekleri En kısa yol Topolojik sıralama

28 Önemli Problem Türleri Kombinasyonel problemler Çeşitli kısıtlılıkları sağlayan kombinasyonel çözümlerin bulunması Maksimum değer, minimum maliyet Sorunlar Probleme göre kombinasyonel çözümler çok büyüyebilir Bu tip problemleri, kabul edilebilir bir sürede çözebilecek bilinen bir algoritma yok

29 Önemli Problem Türleri Geometrik problemler Nokta, doğru, çokgen gibi geometrik nesneler ile ilgilenen formülleri Uygulama Alanları Robotik Bilgisayar Grafikleri Tomografi En bilinen problemler En yakın çift (Closest Pair) Dışbükey gövde (Convex Hull)

30 Önemli Problem Türleri Nümerik Problemler Yaklaşık çözüme ulaşılmış problemlerin kesin sonuca ulaştırılmaya çalışılması Denklem, denklem sistemi çözümleri Kısıtlı integraller

31 En Yakın Çift Problemi Verilen nokta kümesi içerisinde birbirine en yakın noktaları bulmak NOKTA X KOORDİNATI Y KOORDİNATI A 3 2 B 2 5 C 5-3 D -2 0 E 4 6 F 0-4 İki Nokta Arası Mesafe : (X1 X2 )^2 + (Y1 Y2 )^2

32 Metin Arama Bir metin içerisinde aranan ifadeyi bulmak Büyük / Küçük Harf duyarlılığı? Tam uyum / Ek almış?

33 Algoritma Analizi Çerçevesi Algoritma Analizinde Göz Önünde Bulundurulması Gerekenler Neler? Algoritmanın Doğruluğu (Correctness) Zaman Verimliliği (Time Efficiency) Bellek Alanı Verimliliği (Space Efficiency) Gelişen donanım teknolojisi ile artık çok önemli değil Uygunluk, en iyilik (Optimality)

34 Algoritma Analizi Çerçevesi Girdi Büyüklüğünün Ölçülmesi Çalışma Zamanı Ölçü Biriminin Belirlenmesi Büyüme Derecesi (Order of Growth) En kötü durum, en iyi durum, ortalama durum değerlendirmeleri

35 Girdi Büyüklüğünün Ölçülmesi Girdi Büyüklüğünün Ölçülmesi Tüm algoritmalar için büyük girdiler üzerinde çalışma süresi daha uzundur Büyük dizi içinde arama Büyük boyutlu matrisleri çarpma Algoritmaya girilen veriyi belirten n değerinin belirlenmesi önemli Bazı algoritmalar için kolay Arama, sıralama, eleman sayısı bulma Bazı algoritmalar için değil İki matrisin çarpımı» Matrislerin derecesi mi? Eleman Sayıları mı? Yazım hatası programı» Karakter Sayısı mı? Kelime Sayısı mı?

36 Çalışma Zamanı Ölçü Biriminin Belirlenmesi Bir Algoritmanın Çalışma Zamanı Çalıştığı bilgisayar sisteminin hızı Algoritmanın kullanıldığı programın kalitesine Makine kodunu üreten derleyici gibi etkenlere bağımlıdır Bu yüzden dış etkenlere bağımlı olmayan bir ölçüm yolu bulunmalıdır Bir yaklaşım: Algoritma içerisindeki tüm işlemlerin kaç kere gerçekleştiğinin sayılması Zor ve Gereksiz Bir diğer yaklaşım: Algoritma içerisindeki temel işlemin belirlenip, kaç kere gerçekleştiğinin sayılması

37 Çalışma Zamanı Ölçü Biriminin Belirlenmesi Zaman verimliliğinin teorik incelenmesi Zaman verimliliği girdi üzerindeki temel işlemin tekrar sayısı üzerinden değerlendirilir Temel işlem Algoritmanın çalışma süresince en çok gerçekleştirilen işlem

38 Çalışma Zamanı Ölçü Biriminin Belirlenmesi Temel işlemin belirlenmesi Genellikle en çok gerçekleşen işlem Genellikle en iç döngüde yapılan işlem Sıralama algoritmaları için karşılaştırma Matematiksel işlemler için genellikle 4 işlem / en uzun işlem, sonra *, + ve

39 Çalışma Zamanı Ölçü Biriminin Belirlenmesi c op : Bir algoritmanın temel işleminin bir bilgisayardaki çalışma süresi C(n) : Temel işlemin gerçekleşme sayısı T(n) : Algoritmanın uygulandığı programın çalışma süresi T(n) c op C(n) Bu formülün yaklaşık ve tahmini bir değer verdiği unutulmamalı

40 Çalışma Zamanı Ölçü Biriminin Belirlenmesi T(n) c op C(n) Bu programı 10 kat hızlı bir bilgisayarda çalıştırsak ne kadar hızlı sonuç alırız? Cevap : 10 kez ise girdiyi iki kat büyütürsek çalışma zamanı ne kadar artar?

41 Büyüme Derecesi Büyüme derecesi Küçük girdi boyutları ile bir algoritmanın etkinliğinin değerlendirilmesi sağlıklı değil

42 En İyi, En Kötü, Ortalama Durum En kötü durum n boyutunda girdi üzerinden en yüksek değer En iyi durum n boyutunda girdi üzerinden en düşük değer Ortalama durum n boyutunda girdi için «ortalama» değer Tipik bir girdi için temel işlemin kaç kere olduğu En kötü ile en iyinin ortalaması değil Temel işlem sayısı olarak bir olasılık dağılımı içerisinden rastgele bir değişken değeri beklenir

43 En Kötü Durum Sıralı arama için En kötü durum: Aranan değerin dizide bulunmaması N boyutunda girdi için maksimum sayıda karşılaştırma C worst (n) = n En kötü durum incelemesi bir algoritmanın çalışma zamanı açısından üst sınırını belirler

44 En İyi Durum İncelemesi Sıralı arama için En iyi durum: Aranan değerin ilk karşılaştırmada bulunması N boyutunda girdi için maksimum sayıda karşılaştırma C best (n) = 1 En iyi durum incelemesi en kötü durum kadar önemli bir veri sağlamaz.

45 Ortalama Durum İncelemesi En iyi durum incelemesi de en kötü durum incelemesi de bir algoritmayı değerlendirmek için yeterli veri sağlamaz Algoritmanın tipik veya rastgele bir girdi karşısındaki davranışı?

46 Ortalama Durum İncelemesi Sıralı arama için Standart kabule göre başarılı bir aramanın olasılığı p (0<=p<=1) İlk karşılaştırmada bulma olasılığı her hangi bir i değeri için aynı. (p/n) Bulunamama olasılığı n.(1-p)

47 Ortalama Durum p=1 ise (Başarılı arama) C avg (n) = (n+1) / 2 olur. Bu durum başarılı bir aramda algoritmanın ortalama olarak dizinin yarısına kadar aranan elemanı bulacağı kabul edilir.

48 1. n elemanın toplamı 2. n! değerinin hesaplanması 3. n elemanlı dizinin en büyük elemanının bulunması 4. Öklid in EBOB algoritması 5. n*n boyutlu iki matrisin toplanması 6. n*n boyutlu iki matrisin çarpımı Yukarıdaki algoritmaların temel işlemlerini ve gerçekleşme sayılarını bulunuz. C(n) Sıralı aramayı aranan verinin yer aldığı indis listesi veren versiyonunu tasarlayıp(birden fazla kez yer alma durumu), verimliliğini klasik sıralı aramayla karşılaştırın. (C(n), T(n), En kötü, en iyi durumlar)

49 Büyüme Derecesinin Asimptotik İncelemesi Algoritma verimliliğinin değerlendirilmesinde büyüme derecesi temel işlemin gerçekleşme sayısı ile ilgilidir Büyüme derecesi değerlendirilirken 3 farklı notasyon kullanılır O (Big Oh) Ω (Big Omega) Θ (Big Theta)

50 Big Oh Notasyonu O(g(n) : Bir g(n) fonksiyonu ile aynı veya daha düşük büyüme derecesine sahip fonksiyonların tümü Bir sabit katsayı ve n değeri sonsuza giderken

51 Big Oh Notasyonu

52 Big Oh Notasyonu Bir t(n) fonksiyonu için O(g(n)) içerisindedir diyebilmek için (- t (n) O(g(n)) -) T(n), Daha büyük n değerleri için üstten, sabit çarpanlı bir g(n) fonksiyonu ile sınırlandırılmış olmalıdır. Pozitif sabit katsayı c, n 0 negatif olmayan bir tamsayı ise t (n) cg(n), n n 0 ise 100n + 5 O(n 2 ) için ispat 100n n + n, n 5 ise 100n n 101n 101n 2 c = 101, n 0 = 5 alınabilir

53 Big Omega Notasyonu Ω(g(n)) Bir g(n) fonksiyonu ile aynı veya daha büyük büyüme derecesine sahip fonksiyonların tümü Bir sabit katsayı ve n değeri sonsuza giderken

54 Big Omega Notasyonu

55 Big Omega Notasyonu Bir t(n) fonksiyonu için Ω(g(n)) içerisindedir diyebilmek için (- t (n) Ω (g(n)) -) T(n), Daha büyük n değerleri için alttan, sabit çarpanlı bir g(n) fonksiyonu ile sınırlandırılmış olmalıdır. Pozitif sabit katsayı c, n 0 negatif olmayan bir tamsayı ise t (n) cg(n), n n 0 ise n 3 Ω(n 2 ) ispatı için n 3 n 2, n 0 ise c = 1, n 0 = 0 alınabilir

56 Big Theta Notasyonu Θ(g(n)) Bir g(n) fonksiyonu ile aynı büyüme derecesine sahip fonksiyonların tümü Bir sabit katsayı ve n değeri sonsuza giderken an 2 + bn + c, a > 0 ise Θ(n 2 ) içerisindedir

57 Big Theta Notasyonu

58 Big Theta Notasyonu Bir t(n) fonksiyonu için Θ (g(n)) içerisindedir diyebilmek için (- t (n) Θ (g(n)) -) t(n), Daha büyük n değerleri için alttan ve üstten, sabit çarpanlı bir g(n) fonksiyonu ile sınırlandırılmış olmalıdır. Pozitif sabit katsayı c 1 ve c 2, n 0 negatif olmayan bir tamsayı ise c 2 g(n) t (n) c 1 g(n), n n 0 ise

59 Asimptotik Büyüme Derecesi İçin Bazı Özellikler f(n) O(f(n)) f(n) O(g(n)), eğer g(n) (f(n)) Eğer f (n) O(g (n)) ve g(n) O(h(n)), ise f(n) O(h(n)) If f 1 (n) O(g 1 (n)) ve f 2 (n) O(g 2 (n)), ise f 1 (n) + f 2 (n) O(max{g 1 (n), g 2 (n)})

60 Büyüme Derecelerinin Karşılaştırılması O, Ω, ve Θ yaklaşımları tanımlarının birbirinden bağımsız olması sebebiyle iki fonksiyonun büyüme derecelerinin karşılaştırılmasında pek kullanılmaz Bu işlem için iki fonksiyonlarının oranının sonsuza giderken limit yaklaşımı daha uygundur

61 Limit Yöntemi İle Karşılaştırma 0 t(n) büyüme derecesi < g(n) büyüme derecesi c > 0 t(n) büyüme derecesi = g(n) büyüme derecesi t(n) büyüme derecesi > g(n) büyüme derecesi İlk iki durum : t (n) O(g(n)), İkinci durum : t (n) Θ(g(n)) Son iki durum : t (n) Ω(g(n)),

62 Limit Yöntemi İle Karşılaştırma L Hôpital Kuralı: Eğer lim n f(n) = lim n g(n) = ve f, g türevleri varsa Çok büyük n değerleri için Stirling Formülü

63 Örnek 1 n n 1 ile 2 n2 fonksiyonlarının büyüme derecelerini karşılaştırınız Sonuç sabit olduğu için eşit büyüme derecelerine sahipler

64 Örnek Log 2 n ve n fonksiyonlarının büyüme derecelerini karşılaştırınız. Log 2 n büyüme derecesi daha küçüktür

65 Örnek n! ve 2 n fonksiyonlarının büyüme derecelerini karşılaştırınız n! Daha hızlı büyümektedir. n! Ω(2 n )

66 Örnek 1 constant log n n n log n n 2 n 3 logarithmic linear linearithmic quadratic cubic 2 n exponential n! factorial

67 Özyineli Olmayan (Nonrecursive) Algoritmaların Matematiksel Analizi En büyük elemanı bulma problemi

68 En Büyük Elemanı Bulma Problemi Girdi büyüklüğü : n elemanlı dizi En çok gerçekleştirilen işlem: Döngünün içerisindeki işlemler Karşılaştırma Atama En iyi, en kötü, ortalama durum Tüm elemanlar için karşılaştırma yapılacağından söz konusu değil Karşılaştırma işlemi kaç kere yapılıyor? Döngünün her turunda 1 kez Bu toplamın sonucu

69 Özyineli Olmayan Algoritmaların Zaman Etkinliğinin Analizinin Genel Planı 1. Girdi büyüklüğünü gösteren parametrelerin belirlenmesi 2. Algoritmanın temel işleminin belirlenmesi 3. Girdi büyüklüğüne bağımlı olarak temel işlemin kaz kez gerçekleştiğinin bulunması Başka parametrelere bağlı ise en kötü, en iyi, ortalama durum incelemeleri 4. Temel işlemin kaç kez gerçekleştiğinin bir toplam formülüyle gösterilmesi 5. Toplam formülünün büyüme derecesini gösterecek forma dönüştürülmesi

70

71 Dizi Elemanlarının Eşsizliği Bir dizinin tüm elemanlarının birbirinden farklı olması Girdi büyüklüğü : n En çok gerçekleştirilen işlem: Döngünün içerisindeki işlemler Karşılaştırma Karşılaştırma işleminin gerçekleşme sayısı Sadece n e bağlı değil Eşit eleman olmasına da bağlı İnceleme en kötü duruma göre yapılmalı En kötü durum Dizide eşit eleman olmaması Dizinin son iki elemanının eşit olması Karşılaştırma işleminin gerçekleşme sayısının hesabı limitleri i+1 den n-1 e kadar olan içteki j döngüsünün her tekrarında 1 karşılaştırma yapılıyor İç döngü dıştaki i döngüsünün her değeri için tekrarlanıyor

72 Dizi Elemanlarının Eşsizliği

73 n*n Matris Çarpımı n*n boyutlarındaki iki matrisin çarpımı

74 n*n Matris Çarpımı Girdi büyüklüğü : n. Dereceden matris En çok gerçekleştirilen işlem: En iç döngünün içerisindeki işlemler Toplama ve Çarpma Döngünün her turunda 1 kez gerçekleşiyorlar Birini seçmek yeterli (Çarpma) En iyi, en kötü, ortalama durum incelemesi Matrisin tüm elemanları için işlem yapılacağından gerek yok Temel işlem çarpma (M(n)) En içteki k döngüsünün her tekrarında 1 kez gerçekleşiyor Alt sınır 0, üst sınır n-1 Toplam çarpma sayısı

75 Onluk Sayının İkili Sayı Sisteminde Basamak Sayısının Bulunması Bir pozitif onluk sayının ikili sayı sisteminde kaç basamaklı olduğunun bulunması Temel işlem : Karşılaştırma Döngünü içinde değil Döngü içeriğinin icra edilip edilmeyeceğini belirliyor Karşılaştırma döngü içindeki işlemlerden 1 kez fazla yapılıyor Gerçekleşme Sayısı Döngü değişkeni alt ve üst sınırları arasında çok az değer alıyor Her tekrarda yarılanmasından dolayı Bu durumda n girdi boyutu için log 2 n olmalıdır Temel işlem (n>1) log 2 n + 1 kez gerçekleşir Bu tür durumların incelenmesi özyineli algoritmalar ile daha sağlıklı olur

76 Özyineli Algoritmaların Matematiksel Analizi F(n) = n! Değerinin hesaplanması F(n) = F(n-1).n Temel işlem: Çarpma M(n)

77 Faktöriyel Alma M(n) n e bağlı bir fonksiyon Dolaylı olarak aynı zamanda n-1 e bağlı bir fonksiyondur Bu duruma özyineleme denir Yapılması gereken çözülmesidir serisinin

78 Faktöriyel Alma if n = 0 return 1. satırı n =0 olduğunda özyineleme çağırımının duracağını ve çarpma işlemi yapılmayacağını belirtir Bu durum özyineleme ilişkisini ve çarpma sayısı algoritması için başlangıç koşulunu verir

79 Faktöriyel Alma Özyineleme ilişkisinin çözümü için kullanılan yöntemlerden biri Backward Substitution (Geriye doğru değiştirme) Seri incelendiğinde şu örüntü görülebilir. n = 0 dan i = n e kadar gidildiğinde

80 Özyineli Algoritmaların Zaman Etkinliğinin Analizinin Genel Planı 1. Girdi büyüklüğünü gösteren parametrelerin belirlenmesi 2. Algoritmanın temel işleminin belirlenmesi 3. Girdi büyüklüğüne bağımlı olarak temel işlemin kaz kez gerçekleştiğinin bulunması Aynı büyüklükteki girdiler için farklı sayıda gerçekleşiyorsa en kötü, en iyi, ortalama durum incelemeleri 4. Temel işlemin kaç kez gerçekleştiğinin bir özyineleme ilişkisiyle gösterilmesi 5. Özyinelemenin çözülmesi ve büyüme derecesinin araştırılması

81 Hanoi Kuleleri Bulmacası Hanoi Kuleleri Bulmacası Farklı büyüklüklerde diskler 1. Çubuktan 3. çubuğa aynı sırayla taşınacak Her defasında bir disk hareket ettirilecek Büyük disk küçük diskin üzerine gelmeyecek

82 Hanoi Kuleleri Bulmacası n>1 adet disk Ç1 den Ç3 e özyineli olarak taşınması Önce n-1 disk Ç1 den Ç2 ye özyineli olarak taşınır n. Disk Ç1 den Ç3 e taşınır Son olarak n-1 disk Ç2 den Ç3 e özyineli olarak taşınır n=1 ise 1 hareketle işlem gerçekleşir.

83 Önce n-1 disk Ç1 den Ç2 ye özyineli olarak taşınır n. Disk Ç1 den Ç3 e taşınır Son olarak n-1 disk Ç2 den Ç3 e özyineli olarak taşınır Girdi büyüklüğü: Disk sayısı Hamle Sayısı (M(n)) n e bağımlı Başlangıç koşulu M(1)=1 olduğuna göre özyineleme ilişkisi Backward Substitution (Geriye doğru değiştirme) Örüntü

84 Hanoi Kuleleri Bulmacası Örüntü Başlangıç koşulu n=1, i=n-1 tekrar sayısı formülde yerine konursa: Algoritmanın büyüme derecesi üssel bir fonksiyondur. Büyük n değerleri için çözüm çok uzun sürecektir. Bu durum algoritmanın etkin olmadığını göstermez

85 Fibonacci Sayıları Fibonacci Sayıları: 0, 1, 1, 2, 3, 5, 8, 13, 21, Fibonacci Özyinelemesi: F(n) = F(n-1) + F(n-2) F(0) = 0 F(1) = 1

86 Kaba Kuvvet Algoritmaları Kaba Kuvvet Bir problemi çözmek için en basit yaklaşım Genellikle problemin tanımına ve konseptine bağımlıdır Genellikle uygulaması en basit çözümdür En temel örnekler a n hesaplanması n! Hesaplanması İki matrisin çarpımı Bir dizide bir elemanın aranması

87 Seçimli Sıralama Seçimli Sıralama (Selection Sort) Dizinin içerisindeki en küçük eleman bulunur. 1. sıradaki elemanla yer değiştirilir. En küçük bulma işlemi dizinin ikinci elemanından başlanılarak tekrar edilir. Bulunan en küçük değer 2.sıradaki elemanla yer değiştirir. Bu işlem dizinin son elemanına kadar devam eder.

88 Seçimli Sıralama

89 Seçimli Sıralama Temel işlemin gerçekleşme sayısı formülü:

90 Kabarcık Sıralama

91 Kabarcık Sıralama

92 Kabarcık Sıralama Temel İşlem :? Gerçekleşme Sayısı :?

93 Kaba Kuvvet Arama Algoritmaları Sıralı Arama (Sequential Search) Kaba Kuvvet String Eşleme (Bruteforce String Matching)

94 Sıralı Arama Aranan elemanı dizi elemanları ile tek tek karşılaştırarak arama yapar Aranan elemanın dizi içerisinde (varsa) bulunduğu ilk indisi verir

95 Kaba Kuvvet String Eşleme n uzunluğundaki T metni içerisinde m uzunluğundaki P örüntüsünü arama

96 Kaba Kuvvet String Eşleme Kötü durum Aranan örüntünün bulunamaması Kaydırmanın örüntünün son karakteri karşılaştırıldıktan sonra yapılabilmesi Her seferinde (n-m+1 kez) 3. karakter karşılaştırmasında uyumsuzluk çıkması Bu durumda sınıfı : O(nm) Ortalama durum: Bir doğal dil için birkaç karşılaştırmada uyumsuzluk yakalanır

97 Etraflı Arama Etraflı Arama (Exhaustive Search) Kombinasyonel çözümler içerisinden belli bir özelliğe sahip olanı arama için kullanılan bir kaba kuvvet çözümü Her ihtimal denenerek arama yapılır Gezgin Satıcı Problemi (Traveling Salesman) Sırt Çantası Problemi (Knapsack Problem) İşe Alma Problemi (Assignment Problem)

98 Gezgin Satıcı Problemi Bir satıcının Aralarındaki mesafeler bilinen şehirleri Her şehirden bir kez geçerek başladığı şehre en kısa yoldan dönmesi Hamiltonian Circuit (n-1)!/2

99 Sırt Çantası Problemi Bir hırsızın çalacağı nesnelere karar verme problemi Çantasına sığmalı Değeri mümkün olduğunca yüksek olmalı

100 İşe Alma Problemi n aday n pozisyon için işe başvuruyor Her aday her farklı pozisyon için farklı maaş talep ediyor Her pozisyona 1 kişi alınacak Her aday işe alınacak Toplam maaş maliyeti minimum olacak

101 İşe Alma Problemi

102 Böl ve Fethet Algoritmaları Böl ve fethet En sık kullanılan algoritma tasarım tekniklerinden biri 1. Problem alt problemlere bölünür Genellikle eşit büyüklükte 2. Alt problemler çözülür 3. Gerekliyse alt problem çözümleri birleştirilir

103 Master Teoremi Bir özyineleme ilişkisi için T(n) = at(n/b) + f (n), f(n) (n d ), d 0 Örnek : T(n) = 4T(n/2) + n T(n)? T(n) = 4T(n/2) + n 2 T(n)? T(n) = 4T(n/2) + n 3 T(n)?

104 Birleştirmeli Sıralama Birleştirmeli Sıralama (Merge Sort) Bir sırasız diziyi sıralı hale getirme Diziyi özyinelemeli olarak ikiye ayırır En küçük hale getirdikten sonra karşılaştırarak birleştirir

105 Birleştirmeli Sıralama

106 Birleştirmeli Sıralama

107 Birleştirmeli Sıralama Özyineleme ilişkisi C merge (n) incelenirse: Her adımda bir karşılaştırma Eğer dizi indisleri bir azaltılmaya devam ediyorsa Yani dizilerden biri boşalmadıysa En kötü durum: Bir dizide tek eleman kaldığında diğerinin boşalmamış olması C merge (n) = (n 1) Master Teoremine göre a=2, b=2, d=1

108 QuickSort Böl ve Fethet sıralama algoritması Merge sort tan farkı Diziyi alt dizilere konumlarına göre değil Değerlerine göre böler

109 QuickSort

110 QuickSort Bir eleman pivot seçilir Dizi biri pivot olmak üzere 3 alt diziye ayrılır Diğer iki dizi arasında pivottan küçük elemanlar ile pivottan büyük elemanlar değiştirilir Pivotun solunda pivottan büyük elemanlar olacak şekilde yer değişimi yapılır

111 QuickSort

112 QuickSort

113 QuickSort En iyi durum: Master Teoremine göre: En kötü Durum: Ortalama Durum:

114 Çok Basamaklı Sayıların Çarpılması Çok basamaklı iki sayının çarpımı A = B = Normal Çarpma Algoritması: a 1 a 2 a n b 1 b 2 b n (d 10 ) d 11 d 12 d 1n (d 20 ) d 21 d 22 d 2n (d n0 ) d n1 d n2 d nn Etkinliği: n 2

115 Böl ve Fethet ile Çarpım Örnek: A B =? A = 2135 and B = 4014 A = ( ), B = ( ), A B = ( ) ( ) = ( ) Algoritma: A = A 1 A 2 ve B = B 1 B 2 ise ( A ve B n-basamaklı, A 1, A 2, B 1, B 2 ise n/2-basamaklı sayılar), A B = A 1 B 1 10 n + (A 1 B 2 + A 2 B 1 ) 10 n/2 + A 2 B 2 Özyineleme ilişkisi: M(n): M(n) = 3M(n/2), n>1, M(1) = 1

116 Strassen in Matris Çarpım Algoritması Strassen in matris çarpımı için geliştirdiği algoritma

117 Strassen in Matris Çarpım Algoritması Matrisler ikinin katı değilse sıfır ile tamamlanır Çarpım Sayısı: M(n) = 7M(n/2), M(1) = 1 Çözüm: M(n) = 7 log 2n = n log 27 n vs. n 3 (Kaba kuvvet)

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI Algoritma Nedir? Algoritma Bir problemin çözümü için geliştirilmiş özel metot Girdileri çıktılara dönüştüren sıralı hesaplama adımları Tanımlanmış

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ Algoritma Analizi Çerçevesi Algoritma Analizinde Göz Önünde Bulundurulması Gerekenler Neler? Algoritmanın Doğruluğu (Correctness) Zaman

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2 YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2 Özyineli Olmayan (Nonrecursive) Algoritmaların Matematiksel Analizi En büyük elemanı bulma problemi En Büyük Elemanı Bulma Problemi Girdi

Detaylı

3.Hafta Master Teorem ve Böl-Fethet Metodu

3.Hafta Master Teorem ve Böl-Fethet Metodu 1 3.Hafta Master Teorem ve Böl-Fethet Metodu 2 Ana Metod (The Master Method) Ana method aşağıda belirtilen yapıdaki yinelemelere uygulanır: T(n) = at(n/b) + f (n), burada a 1, b > 1, ve f asimptotik olarak

Detaylı

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K); 2009-2010 BAHAR DÖNEMİ MC 689 ALGORİTMA TASARIMI ve ANALİZİ I. VİZE ÇÖZÜMLERİ 1. a) Böl ve yönet (divide & conquer) tarzındaki algoritmaların genel özelliklerini (çalışma mantıklarını) ve aşamalarını kısaca

Detaylı

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği Yrd. Doç. Dr. A. Burak İER Bilgisayar Mühendisliği Algoritma Analizi İçerik: Temel Kavramlar Yinelemeli ve Yinelemesiz Algoritma Analizi Asimptotik otasyonlar Temel Kavramlar Algoritma: Bir problemin çözümüne

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 SIRALAMA ALGORİTMALARI Sunu Planı Büyük O Notasyonu Kabarcık Sıralama (Bubble Sort) Hızlı Sıralama (Quick Sort) Seçimli Sıralama (Selection Sort) Eklemeli Sıralama (Insertion

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 2 Bu bölümde, Algoritma Analizi, Çalışma Zamanı Analizi

Detaylı

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Sıralama Problemi ve Analizi Bahar 2017 Doç. Dr. Suat Özdemir 1 Sıralama Problemi ve Analizi Bu bölümde öncelikle bir diğer böl-ve-yönet yöntemine dayalı algoritma olan Quick Sort algoritması

Detaylı

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1 Algoritmalar Arama Problemi ve Analizi Bahar 2016 Doç. Dr. Suat Özdemir 1 Arama Problemi Sıralama algoritmaları gibi arama algoritmaları da gerçek hayat bilgisayar mühendisliği problemlerinin çözümünde

Detaylı

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036. atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036. atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036 atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİŞKEK 2012 Ahmet Atakan

Detaylı

Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan

Algoritma Analizi. Özelliklerinin analizi Algoritmanın çalışma zamanı Hafızada kapladığı alan Karmaşıklık Giriş 1 Algoritma Analizi 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ü? Olabileceklerin en iyisi mi?

Detaylı

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Yürütme Zamanı (Running Time) Algoritmanın belirli bir işleme veya eyleme kaç kez gereksinim duyulduğunu gösteren bağıntıdır ve

Detaylı

Algoritmalar ve Karmaşıklık

Algoritmalar ve Karmaşıklık Algoritmalar ve Karmaşıklık Ders 11 Algoritma Ayrık matematikte karşılaşılan bir çok problem sınıfı mevcuttur. Örneğin, verilen tamsayı grubu içindeki en büyük olanının bulunması, verilen bir kümenin bütün

Detaylı

VERİ YAPILARI DERS NOTLARI BÖLÜM 2 ALGORİTMA ANALİZİ. Yard. Doç. Dr. Deniz KILINÇ

VERİ YAPILARI DERS NOTLARI BÖLÜM 2 ALGORİTMA ANALİZİ. Yard. Doç. Dr. Deniz KILINÇ VERİ YAPILARI DERS NOTLARI BÖLÜM 2 ALGORİTMA ANALİZİ Yard. Doç. Dr. Deniz KILINÇ CELAL BAYAR ÜNİVERSİTESİ, YAZILIM MÜHENDİSLİĞİ 2015-2016 1. ALGORİTMA TANIMI Verilen herhangi bir sorunun çözümüne ulaşmak

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#6: AZALT VE FETHET YÖNTEMİ Azalt ve Fethet Algoritmaları Problemi daha küçük bir örneğine çevir: Küçük örneği çöz Çözümü asıl probleme genişlet 3 tipi vardır:

Detaylı

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek) HAZIRLAYAN MUSA DEMIRELLI BISHKEK KYRGYZ TURKISH BOYS HIGH SCHOOL education.online.tr.tc compsources0.tripod.com Olimpiyat Soruları 1- Bir diziyi ters çeviren algoritma ve program 2- Bir diziyi sıralayan

Detaylı

Temel Kavramlar. (r) Sıfırdan farklı kompleks sayılar kümesi: C. (i) Rasyonel sayılar kümesi: Q = { a b

Temel Kavramlar. (r) Sıfırdan farklı kompleks sayılar kümesi: C. (i) Rasyonel sayılar kümesi: Q = { a b Bölüm 1 Temel Kavramlar Bu bölümde bağıntı ve fonksiyon gibi bazı temel kavramlar üzerinde durulacak, tamsayıların bazı özellikleri ele alınacaktır. Bu çalışma boyunca kullanılacak bazı kümelerin gösterimleri

Detaylı

Algoritma Analizi Big O

Algoritma Analizi Big O Algoritma Analizi Big O 0 {\} /\ Suhap SAHIN Onur GÖK Giris Verimlilik Karsılastırma Giris Hangisi daha iyi? Hangi kritere göre? Giris Hangisi daha iyi? Hangi kritere göre? Giris Giris? Verimin ölçülmesi

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Algoritmalara Giriş 6.046J/18.401J DERS 2

Algoritmalara Giriş 6.046J/18.401J DERS 2 Algoritmalara Giriş 6.046J/18.401J DERS 2 Asimptotik Simgelem O-, Ω-, ve Θ-simgelemi Yinelemeler Yerine koyma metodu Yineleme döngüleri Özyineleme ağacı Ana Metot (Master metod) Prof. Erik Demaine September

Detaylı

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Özyinelemeler veya artık teknik Türkçeye girmiş olan rekürsiflik en çok duyulan fakat kullanımında zorluklar görülen tekniklerdendir.

Detaylı

Problem Set 1 Çözümler

Problem Set 1 Çözümler Algoritmalara Giriş Eylül 30, 2005 Massachusetts Institute of Technology 6.046J/18.410J Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 8 0J Professors Erik D. Demaine ve Charles E. Leiserson

Detaylı

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR

Algoritmaların Karşılaştırılması. Doç. Dr. Aybars UĞUR Algoritmaların Karşılaştırılması Doç. Dr. Aybars UĞUR Giriş Bir programın performansı genel olarak programın işletimi için gerekli olan bilgisayar zamanı ve belleğidir. Bir programın zaman karmaşıklığı

Detaylı

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada, TAMSAYILAR Z = {.., -, -, -, 0,,,, } kümesinin her bir elemanına tamsayı denir. Burada, + Z = {,,,...} kümesine, pozitif tamsayılar kümesi denir. Z = {...,,,,} kümesine, negatif tamsayılar kümesi denir.

Detaylı

Selection Sort Insertion Sort

Selection Sort Insertion Sort Ozet Selection Sort Selection Sort Insertion Sort Linear Search.. Growth Rates. Implementation. Once dizinin en buyuk element ini bul ve bunu en son pozisyondaki element le degistir, daha sonra en buyuk

Detaylı

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Temel Kavramlar Algoritma: Bir problemin çözümünü belirli bir zamanda çözmek için sonlu sayıdaki adım-adım birbirini takip eden

Detaylı

Algoritmalar. DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması

Algoritmalar. DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması September 14, 2005 Copyright 2001-5 Erik D. Demaine and Charles

Detaylı

Yrd. Doç. Dr. Ümit ATİLA

Yrd. Doç. Dr. Ümit ATİLA Yrd. Doç. Dr. Ümit ATİLA Sıralama Bir grup veriyi azalan veya artan şekilde yerleştirme. Bilgisayar sistemleri için veri sıralama çok önemlidir. Sıralama işlemi, hem arama işlemlerini hem de bir grup veriyi

Detaylı

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı Dizgi Eşleme Algoritmaları

Detaylı

Bölüm Özeti. Algoritmalar. Fonksiyonların Büyümesi. Algoritmaların Karmaşıklığı. Örnek Algoritmalar Algoritmik Paradigmalar

Bölüm Özeti. Algoritmalar. Fonksiyonların Büyümesi. Algoritmaların Karmaşıklığı. Örnek Algoritmalar Algoritmik Paradigmalar Bölüm 3 Bölüm Özeti Algoritmalar Örnek Algoritmalar Algoritmik Paradigmalar Fonksiyonların Büyümesi Büyük-O ve diğer gösterimler Algoritmaların Karmaşıklığı Bölüm 3.1 Bölüm Özet Algoritmaların Özellikleri

Detaylı

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Heap Sort Bahar 2017 Doç. Dr. Suat Özdemir 1 Heap Sort Heap Sort algoritması Merge Sort ve Insertion Sort algoritmalarının iyi özelliklerini bir arada toplar. Algoritma Insertion Sort gibi

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR İÇİNDEKİLER ÖNSÖZ III Bölüm 1 SAYILAR 11 1.1. Sayı Kümeleri 12 1.1.1.Doğal Sayılar Kümesi 12 1.1.2.Tam Sayılar Kümesi 13 1.1.3.Rasyonel Sayılar Kümesi 14 1.1.4. İrrasyonel Sayılar Kümesi 16 1.1.5. Gerçel

Detaylı

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız. ÖDEV (Vize Dönemi) CEVAPLAR 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız. PROGRAM Soru1 PRINT Merhaba Dünya! ; 2. Klavyeden girilen negatif bir sayıyı

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları BLM-112 PROGRAMLAMA DİLLERİ II Ders-7 Sıralama Algoritmaları Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Sıralama Bir grup veriyi azalan veya artan şekilde yerleştirme.

Detaylı

Algoritma Geliştirme ve Veri Yapıları 1 Temel Algoritma Kavramları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 1 Temel Algoritma Kavramları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 1 Temel Algoritma Kavramları Giriş 1) Algoritma geliştirme üzerine temel kavramlar 2) Veri modelleri 3) Veri yapıları 4) Algoritma veya yazılım şekilsel gösterimi

Detaylı

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol ORGANİZASYON ŞEMASI . BÖLÜM Polinomlar... 7. BÖLÜM II. Dereceden Denklemler.... BÖLÜM II. Dereceden Eşitsizlikler... 9. BÖLÜM Parabol... 5 5. BÖLÜM Trigonometri... 69 6. BÖLÜM Karmaşık Sayılar... 09 7.

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

Detaylı

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir?

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir? DİZİLER Tanım kümesi pozitif tam sayılar kümesi olan her fonksiyona dizi denir. Örneğin f : Z + R, f (n )=n 2 ifadesi bir dizi belirtir. Diziler, değer kümelerine göre adlandırı - lırlar. Dizinin değer

Detaylı

SAYILAR DOĞAL VE TAM SAYILAR

SAYILAR DOĞAL VE TAM SAYILAR 1 SAYILAR DOĞAL VE TAM SAYILAR RAKAM: Sayıları ifade etmek için kullandığımız 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sembollerinden her birine rakam denir. Soru: a ve b farklı rakamlar olmak üzere a + b nin alabileceği

Detaylı

VERİ YAPILARI DATA STRUCTURE GİRİŞ

VERİ YAPILARI DATA STRUCTURE GİRİŞ VERİ YAPILARI DATA STRUCTURE GİRİŞ Veri Yapısı Nedir O Verinin ve bilginin bellekte nasıl organize edildiğini, bellekte tutulma biçimini ifade eder. O Tüm programlama dillerinin, genel olarak, tamsayı,

Detaylı

Alıştırma 1: Yineleme

Alıştırma 1: Yineleme Alıştırma 1: Yineleme Alıştırma 2: Yineleme H10->H2 çevrimini yapınız 7 2 1 3 2 1 1 1 2 0 Hafta 3: Yineleme Alıştırmaları(1) E1. (44/174) S değerini yineleme kullanarak hesap ediniz S = 1 + 2 + 3 + n Hafta3:

Detaylı

Java, Python ve Ruby Dillerinin Performans Karşılaştırması

Java, Python ve Ruby Dillerinin Performans Karşılaştırması Java, Python ve Ruby Dillerinin Performans Karşılaştırması Çanakkale Onsekiz Mart Üniversitesi Mustafa ŞAHİN Akademik Bilişim 2007 1 Dillerin seçim nedeni Java, Pyton ve Ruby Programlama dillerinin popülerliği

Detaylı

Sayılar Kuramına Giriş Özet

Sayılar Kuramına Giriş Özet Eğer bir b noktası bir a noktasının sağındaysa, o zaman a, b den küçük ve b, a dan büyük olarak sayılır, ve Sayılar Kuramına Giriş Özet David Pierce a < b, b > a yazılır. Tanıma göre a a, a < b a b, a

Detaylı

Fonksiyon Optimizasyonunda Genetik Algoritmalar

Fonksiyon Optimizasyonunda Genetik Algoritmalar 01-12-06 Ümit Akıncı Fonksiyon Optimizasyonunda Genetik Algoritmalar 1 Fonksiyon Optimizasyonu Fonksiyon optimizasyonu fizikte karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu

Detaylı

PERGEL YAYINLARI LYS 1 DENEME-6 KONU ANALİZİ SORU NO LYS 1 MATEMATİK TESTİ KAZANIM NO KAZANIMLAR

PERGEL YAYINLARI LYS 1 DENEME-6 KONU ANALİZİ SORU NO LYS 1 MATEMATİK TESTİ KAZANIM NO KAZANIMLAR 2013-2014 PERGEL YAYINLARI LYS 1 DENEME-6 KONU ANALİZİ SORU NO LYS 1 MATEMATİK TESTİ A B KAZANIM NO KAZANIMLAR 1 1 / 31 12 32173 Üslü İfadeler 2 13 42016 Rasyonel ifade kavramını örneklerle açıklar ve

Detaylı

1. ÜNİTE:SAYILAR VE İŞLEMLER

1. ÜNİTE:SAYILAR VE İŞLEMLER 1. ÜNİTE:SAYILAR VE İŞLEMLER 2 DERS SAATİ:Verilen iki doğal sayının aralarında asal olup olmadığını belirler. ASAL SAYILAR 1 ve kendisinden başka hiçbir sayma sayısı ile bölünemeyen 1 den büyük doğal sayılara

Detaylı

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir? Örnek...4 : Genel terimi w n. Örnek...1 : Örnek...5 : Genel terimi r n

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir? Örnek...4 : Genel terimi w n. Örnek...1 : Örnek...5 : Genel terimi r n DİZİLER Tanım kümesi pozitif tam sayılar kümesi olan her fonksiyona dizi denir. Örneğin f : Z + R, f (n )=n 2 ifadesi bir dizi belirtir. Diziler değer kümelerine göre adlandırılırlar. Dizinin değer kümesi

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) Özyineleme tanımlamaları Özyineleme çağırma Tail özyineleme Nontail özyineleme Dolaylı (Indirect) özyineleme İçiçe (Nested) özyineleme Yrd.Doç.Dr. M. Ali Akcayol Kendi kendisini doğrudan veya dolaylı olarak

Detaylı

Bir algoritma aşağıdaki ğ dki özelliklere sahip komutların sonlu bir kümesidir.

Bir algoritma aşağıdaki ğ dki özelliklere sahip komutların sonlu bir kümesidir. BÖLÜM 4 Bir algoritma aşağıdaki ğ dki özelliklere sahip komutların sonlu bir kümesidir. Kesinlik : Algoritma adımları kesin olarak tespit edilmelidir. Bir teklik: Her bir adımın yürütülmesinde sonuçlar

Detaylı

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş Mühendislik Mekaniği Statik Yrd.Doç.Dr. Akın Ataş Bölüm 10 Eylemsizlik Momentleri Kaynak: Mühendislik Mekaniği: Statik, R. C.Hibbeler, S. C. Fan, Çevirenler: A. Soyuçok, Ö. Soyuçok. 10. Eylemsizlik Momentleri

Detaylı

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz 2014 Soru 1. (15 puan) 5,2,4,1,15,8,11,13,7,6 dizisinin elemanlarından maksimum özellikli bir yığın(heap) oluşturulmasını adım adım yazınız. Heapsort algoritmasının yardımıyla yapılacak sıralamayı anlatınız.

Detaylı

10.Konu Tam sayıların inşası

10.Konu Tam sayıların inşası 10.Konu Tam sayıların inşası 1. Tam sayılar kümesi 2. Tam sayılar kümesinde toplama ve çarpma 3. Pozitif ve negatif tam sayılar 4. Tam sayılar kümesinde çıkarma 5. Tam sayılar kümesinde sıralama 6. Bir

Detaylı

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler Lineer Cebir Doç. Dr. Niyazi ŞAHİN TOBB İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler Bölüm 1 - Lineer Eşitlikler 1.1. Lineer Eşitliklerin Tanımı x 1, x 2,..., x

Detaylı

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları BİLGİSAYAR PROGRAMLAMA Algoritma ve Akış Şemaları Algoritma tanımı Algoritma özellikleri Algoritma tasarımı Akış şemaları Dallanma simgeleri Döngü simgeleri Akış şeması tasarımı Akış şeması örnekleri Konu

Detaylı

f(x) ve g(x) reel sayılarda tanımlı iki fonksiyon olmak üzere, x > k olacak şekilde bir k vardır öyle ki,

f(x) ve g(x) reel sayılarda tanımlı iki fonksiyon olmak üzere, x > k olacak şekilde bir k vardır öyle ki, Algoritma Karmaşıklığı ve Büyük O Gösterimi (Big O Notation) Yazdığımız bir algoritmanın doğru çalıştığından emin olmakla birlikte bu algoritmayı, daha önce yazılmış ve aynı sonucu veren başka algoritmalarla

Detaylı

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ Öğrenci Adı Soyadı: Öğrenci Numarası: S1 S2 S3 S4 S5 Toplam HACETTEPE ÜNİVERSİTESİ 2013-2014 BAHAR DÖNEMİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BBM202 Algoritmalar 1. Ara Sınav 18.03.2014 Sınav Süresi: 50 dakika

Detaylı

p sayısının pozitif bölenlerinin sayısı 14 olacak şekilde kaç p asal sayısı bulunur?

p sayısının pozitif bölenlerinin sayısı 14 olacak şekilde kaç p asal sayısı bulunur? 07.10.2006 1. Kaç p asal sayısı için, x 3 x + 2 (x r) 2 (x s) (mod p) denkliğinin tüm x tam sayıları tarafından gerçeklenmesini sağlayan r, s tamsayıları bulunabilir? 2. Aşağıdaki ifadelerin hangisinin

Detaylı

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? İki değişken değerinin yer değiştirilmesi (swapping) selection sort sıralama algoritması bubble sort

Detaylı

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...

Detaylı

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi OPTİMİZASYON Gerçek hayatta, çok değişkenli optimizasyon problemleri karmaşıktır ve nadir olarak problem tek değişkenli olur. Bununla birlikte, tek değişkenli optimizasyon algoritmaları çok değişkenli

Detaylı

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

Detaylı

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER LAGRANGE YÖNTEMİ Bu metodu incelemek için Amaç fonksiyonu Min.z= f(x) Kısıtı g(x)=0 olan problemde değişkenler ve kısıtlar genel olarak şeklinde gösterilir. fonksiyonlarının

Detaylı

Azalt ve Fethet Algoritmaları

Azalt ve Fethet Algoritmaları Azalt ve Fethet Algoritmaları Problemi daha küçük bir örneğine çevir: Küçük örneği çöz Çözümü asıl probleme genişlet 3 tipi vardır: Bir sabitle azalt (Genellikle 1) Eklemeli Sıralama (Insertion Sort) Topolojik

Detaylı

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Ders 4: Diziler (Arrays( Arrays) barisgokce.com Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada

Detaylı

İÇİNDEKİLER. Bölüm 2 CEBİR 43

İÇİNDEKİLER. Bölüm 2 CEBİR 43 İÇİNDEKİLER ÖNSÖZ III Bölüm 1 SAYILAR 13 1.1 Doğal Sayılar 15 1.1.1. Tek ve Çift Sayılar 15 1.1.2. Asal Sayılar 15 1.1.3 Doğal Sayıların Özellikleri 15 1.1.4 Doğal Sayılarda Özel Toplamlar 16 1.1.5. Faktöriyel

Detaylı

O NOTASYONU. Abdullah Gazi Emre DAĞLI 0804.01026

O NOTASYONU. Abdullah Gazi Emre DAĞLI 0804.01026 O NOTASYONU Abdullah Gazi Emre DAĞLI 0804.01026 Program Çalışma Hızı ve Bellek Gereksinimi Programın çalışma hızı karmaşıklıkla ifade edilir; bu kavram zaman birimiyle ifade edilmeyip doğrudan işlem adedi

Detaylı

Algoritma Analizi ve Büyük O Notasyonu. Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları

Algoritma Analizi ve Büyük O Notasyonu. Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları Algoritma Analizi ve Büyük O Notasyonu Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları Algoritmaların Özellikleri Algoritmalar Input Girdi, bir kümedir, Output ÇıkF, bir kümedir (çözümdür) Definiteness

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 6 Sıralama(Sort) Algoritmaları 1. Bubble Sort

Detaylı

A GRUBU Noktaları adlandırılmış K 6 tam çizgesinin tam olarak 3 noktalı kaç tane alt çizgesi vardır? A) 9 B) 20 C) 24 D) 60 E) 160

A GRUBU Noktaları adlandırılmış K 6 tam çizgesinin tam olarak 3 noktalı kaç tane alt çizgesi vardır? A) 9 B) 20 C) 24 D) 60 E) 160 A GRUBU.. Numarası :............................................. Adı Soyadı :............................................. SINAV YÖNERGESİ İşaretlemelerinizde kurşun kalem kullanınız. Soru ve cevap kağıtlarına

Detaylı

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular Önsöz Giriş İçindekiler V VII IX 1.1. Algoritma 1.1.1. Algoritma Nasıl Hazırlanır? 1.1.2. Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular 2.1. Programın Akış Yönü 19 2.2. Başlama

Detaylı

1. BÖLÜM. Sayılarda Temel Kavramlar. Bölme - Bölünebilme - Faktöriyel EBOB - EKOK. Kontrol Noktası 1

1. BÖLÜM. Sayılarda Temel Kavramlar. Bölme - Bölünebilme - Faktöriyel EBOB - EKOK. Kontrol Noktası 1 1. BÖLÜM Sayılarda Temel Kavramlar Bölme - Bölünebilme - Faktöriyel EBOB - EKOK Kontrol Noktası 1 Isınma Hareketleri 1 Uygun eşleştirmeleri yapınız. I. {0, 1, 2,..., 9} II. {1, 2, 3,...} III. {0, 1, 2,

Detaylı

2.Hafta Algoritmaların Analizi. Araya Yerleştirme Sırlaması (Insert Sort) Birleştirme Sıralaması (Merge Sort ) Yinelemeler

2.Hafta Algoritmaların Analizi. Araya Yerleştirme Sırlaması (Insert Sort) Birleştirme Sıralaması (Merge Sort ) Yinelemeler 2.Hafta Algoritmaların Analizi Araya Yerleştirme Sırlaması (Insert Sort) Birleştirme Sıralaması (Merge Sort ) Yinelemeler 1 2 Sıralama (sorting) problemi Girdi: dizi a 1, a 2,, a n sayıları. Çıktı: a'

Detaylı

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

VERİ YAPILARI VE PROGRAMLAMA (BTP104) VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

3. Bölüm Algoritmalar

3. Bölüm Algoritmalar 3. Bölüm Algoritmalar Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 3.1. Veri ve Bilgi Şekil 3.1 de bilgisayar sistemin temelini oluşturan veri işlem modeli görülmektedir. Hesaplama, saklama gibi

Detaylı

28/04/2014 tarihli LYS-1 Matematik-Geometri Testi konu analizi SORU NO LYS 1 MATEMATİK TESTİ KAZANIM NO KAZANIMLAR 1 / 31

28/04/2014 tarihli LYS-1 Matematik-Geometri Testi konu analizi SORU NO LYS 1 MATEMATİK TESTİ KAZANIM NO KAZANIMLAR 1 / 31 SORU NO LYS 1 MATEMATİK TESTİ A B KAZANIM NO KAZANIMLAR 1 1 / 31 11 32159 Rasyonel sayı kavramını açıklar. 2 12 32151 İki ya da daha çok doğal sayının en büyük ortak bölenini ve en küçük ortak katını bulur.

Detaylı

13.Konu Reel sayılar

13.Konu Reel sayılar 13.Konu Reel sayılar 1. Temel dizi 2. Temel dizilerde toplama ve çarpma 3. Reel sayılar kümesi 4. Reel sayılar kümesinde toplama ve çarpma 5. Reel sayılar kümesinde sıralama 6. Reel sayılar kümesinin tamlık

Detaylı

YGS - LYS SAYILAR KONU ÖZETLİ ÇÖZÜMLÜ SORU BANKASI

YGS - LYS SAYILAR KONU ÖZETLİ ÇÖZÜMLÜ SORU BANKASI YGS - LYS SAYILAR KONU ÖZETLİ LÜ SORU BANKASI ANKARA ÖN SÖZ Sevgili Öğrenciler, ÖSYM nin son yıllarda yaptığı sınavlardaki matematik sorularının eski sınav sorularından çok farklı olduğu herkes tarafından

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

2. (x 1 + x 2 + x 3 + x 4 + x 5 ) 10 ifadesinin açılımında kaç terim vardır?

2. (x 1 + x 2 + x 3 + x 4 + x 5 ) 10 ifadesinin açılımında kaç terim vardır? Numarası : Adı Soyadı : SINAV YÖNERGESİ İşaretlemelerinizde kurşun kalem kullanınız. Soru ve cevap kağıtlarına numaranızı ve isminizi mürekkepli kalem ile yazınız. Sınavın ilk 30 dakikasında sınıftan çıkılmayacaktır.

Detaylı

İSTANBUL III. BİLİM OLİMPİYATI

İSTANBUL III. BİLİM OLİMPİYATI İSTANBUL III. BİLİM OLİMPİYATI MATEMATİK SBELIAN Bu çalışma notunda İstanbul Bilim Olimpiyatı matematik sorularının bir bölümünün soru metinleri ve çözümleri verilmiştir. Soruların tamamının yayın hakkı

Detaylı

SORULAR. 2. Noktaları adlandırılmamış 6 noktalı kaç ağaç vardır? Çizerek cevaplayınız.

SORULAR. 2. Noktaları adlandırılmamış 6 noktalı kaç ağaç vardır? Çizerek cevaplayınız. MAT3 AYRIK MATEMATİK DERSİ DÖNEM SONU SINAVI 4.0.0 Numarası :..................................... Adı Soyadı :..................................... SORULAR. Prüfer kodu ( 3 3 ) olan ağacı çiziniz.. Noktaları

Detaylı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

Lineer Denklem Sistemleri Kısa Bilgiler ve Alıştırmalar

Lineer Denklem Sistemleri Kısa Bilgiler ve Alıştırmalar Lineer Denklem Sistemleri Kısa Bilgiler ve Alıştırmalar Bir Matrisin Rankı A m n matrisinin determinantı sıfırdan farklı olan alt kare matrislerinin boyutlarının en büyüğüne A matrisinin rankı denir. rank(a)

Detaylı

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA GİRİŞ Bilgisayarların önemli bir kullanım amacı, veri ve bilgilerin kullanılarak var olan belirli bir problemin çözülmeye çalışılmasıdır. Bunun için, bilgisayarlar

Detaylı

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 6. BÖLÜM 2 Çok Boyutlu Diziler Çok Boyutlu Dizi 3 Bir dizi aşağıdaki gibi bildirildiğinde

Detaylı

4- ALGORİTMA (ALGORITHM)

4- ALGORİTMA (ALGORITHM) (ALGORITHM) Algoritma: Bir Problemin çözümünün, günlük konuşma diliyle adım adım yazılmasıdır. Algoritma sözcüğü Ebu Abdullah Muhammed İbn Musa el Harezmi adındaki Türkistan'lı alimden kaynaklanır. Bu

Detaylı

YAPI STATİĞİ II (Hiperstatik Sistemler) Yrd. Doç. Dr. Selçuk KAÇIN

YAPI STATİĞİ II (Hiperstatik Sistemler) Yrd. Doç. Dr. Selçuk KAÇIN YAPI STATİĞİ II (Hiperstatik Sistemler) Yrd. Doç. Dr. Selçuk KAÇIN Yapı Sistemleri: İzostatik (Statikçe Belirli) Sistemler : Bir sistemin tüm kesit tesirlerini (iç kuvvetlerini) ve mesnet reaksiyonlarını

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir. 1 Akış diyagramları

Detaylı

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI YZM 2116- VERİ YAPILARI DERS#9: HASH FONKSİYONLARI İÇERİK Bu bölümde, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing Çözümü Quadratic Probing Çözümü konusuna

Detaylı

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Doğrusal Zamanda Sıralama. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Doğrusal Zamanda Sıralama Bahar 2017 Doç. Dr. Suat Özdemir 1 Sıralama Özet - Insertion sort Kodlaması kolay Küçük veri setleri için hızlı (~50 element) Neredeyse sıralı veri setleri için en

Detaylı

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Giriş. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Giriş 1 Amaç : Mühendislik problemlerinin bilgisayar ortamında çözümünü mümkün kılacak

Detaylı

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür.

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. SEQUENCE ALGORİTMASI Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür. Bir dizi yapısı içinde, bir eylem ya da bir olay, geçmiş

Detaylı

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar Atatürk Anadolu Lisesi M A T E M A T İ K Temel Kavramlar Üzerine Kısa Çalışmalar KONYA \ SELÇUKLU 01 MATEMATİK 1. TEMEL KAVRAMLAR 1.1. RAKAM Sayıların yazılmasında kullanılan sembollere rakam denir. Onluk

Detaylı

İleri Diferansiyel Denklemler

İleri Diferansiyel Denklemler MIT AçıkDersSistemi http://ocw.mit.edu 18.034 İleri Diferansiyel Denklemler 2009 Bahar Bu bilgilere atıfta bulunmak veya kullanım koşulları hakkında bilgi için http://ocw.mit.edu/terms web sitesini ziyaret

Detaylı

ISBN NUMARASI: ISBN NUMARASI: ISBN NUMARASI: ISBN NUMARASI:

ISBN NUMARASI: ISBN NUMARASI: ISBN NUMARASI: ISBN NUMARASI: Bu formun ç kt s n al p ço altarak ö rencilerinizin ücretsiz Morpa Kampüs yarıyıl tatili üyeli inden yararlanmalar n sa layabilirsiniz.! ISBN NUMARASI: 65482465 ISBN NUMARASI: 65482465! ISBN NUMARASI:

Detaylı