Algoritmalara Giriş 6.046J/18.401J

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

Download "Algoritmalara Giriş 6.046J/18.401J"

Transkript

1 Algoritmalara Giriş 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

2 Dersle ilgili bilgiler 1. Öğretim kadrosu. Uzaktan eğitim 3. Ön koşullar 4. Dersler 5. Etütler 6. Ders notları. Ders kitabı 8. Dersin WEB sitesi. Ek destek 10. Kayıt. Problem setleri. Algoritmaları tanımlamak. Not verme politikası 14. Ortak çalışma politikası September, 05 Introduction to Algorithms L1.

3 Algoritmaların çözümlemesi Bilgisayar program başarımı ve kaynak kullanımı konusunda teorik çalışmalar Başarımdan 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 September, 05 Introduction to Algorithms L1.3

4 Neden algoritmalar ve başarımla uğraşırız? Algoritmalarla ölçeklenebilirlik anlaşılabilir. Başarım 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. Başarım bilgi işleme'nin para birimidir. Program başarımından alınan dersler diğer bilgi işleme kaynaklarına genellenebilir. Hız eğlencelidir! September, 05 Introduction to Algorithms L1.4

5 Sıralama (sorting) problemi Girdi: dizi a 1, a,, a n sayıları. Çıktı: permütasyon a' 1, a',, a' n öyle ki a' 1 a' a' n. Örnek: Girdi: Çıktı: September, 05 Introduction to Algorithms L1.5

6 Araya yerleştirme sıralaması (Insertion sort) pseudocode ( sözdekod ) INSERTION-SORT (A, n) A[1.. n] for j to n do key A[ j] i j 1 while i > 0 and A[i] > key do A[i+1] A[i] i i 1 A[i+1] = key (anahtar) September, 05 Introduction to Algorithms L1.6

7 Araya yerleştirme sıralaması (Insertion sort) pseudocode (sözde kod) INSERTION-SORT (A, n) A[1.. n] for j to n do key A[ j] i j 1 while i > 0 and A[i] > key do A[i+1] A[i] i i 1 A[i+1] = key A: 1 i j n key (anahtar) sorted (sıralı) September, 05 Introduction to Algorithms L1.

8 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.8

9 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.

10 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.10

11 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.

12 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.

13 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.

14 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.14

15 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.15

16 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.16

17 Araya yerleştirme sıralaması örneği September, 05 Introduction to Algorithms L1.1

18 Araya yerleştirme sıralaması örneği (bitti) September, 05 Introduction to Algorithms L1.18

19 Koşma süresi (Running time) Koşma süresi girişe bağımlıdır: Önceden sıralanmış bir diziyi sıralamak daha kolaydır. Koşma süresinin girişin boyutuna göre parametrelenmesi yararlıdır, çünkü kısa dizileri sıralamak uzun dizilere oranla daha kolaydır. Genellikle, koşma süresinde üst sınırları ararız, çünkü herkes garantiden hoşlanır. September, 05 Introduction to Algorithms L1.1

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 algoritma ile hile yapmak. September, 05 Introduction to Algorithms L1.

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 'ayaklaştıkça, T(n)'nin büyümesine bak. " Asimptotik Çözümleme" September, 05 Introduction to Algorithms L1.1

22 Θ- simgelemi (notation) Matematik: Θ(g(n)) = { f (n):öyle c 1, c, n 0 pozitif sabit sayıları vardır ki tüm n n0} için 0 c 1 g(n) f (n) c g(n). Mühendislik: Düşük değerli terimleri at; ön sabitleri ihmal et. Örnek: 3n 3 + 0n 5n = Θ(n 3 ) September, 05 Introduction to Algorithms L1.

23 Asimptotik başarım T(n) n yeterince büyürse, Θ(n ) algoritması bir Θ(n 3 ) algoritmasından her zaman daha hızlıdır. n n 0 Öte yandan asimptotik açıdan yavaş algoritmaları ihmal etmemeliyiz. Gerçek dünyada tasarımın mühendislik hedefleriyle dikkatle dengelenmesi gereklidir. Asimptotik çözümleme düşüncemizi yapılandırmada önemli bir araçtır. September, 05 Introduction to Algorithms L1.3

24 Araya yerleştirme sıralaması çözümlemesi En kötü durum: Giriş tersten sıralıysa. T ( n) = n j= Θ( j) = Θ ( n ) Ortalama durum:tüm permutasyonlar eşit olasılıklı. T ( n) = n j= Θ( j / ) = Θ ( n ) [aritmetik seri] 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! September, 05 Introduction to Algorithms L1.4

25 Birleştirme sıralaması BİRLEŞTİRME-SIRALAMASI A[1.. n] 1. Eğer n = 1 ise, işlem bitti.. A[ 1.. n/ ]ve A[ n/ +1.. n ]'yi özyinelemeli sırala. 3. sıralanmış listeyi Birleştir. Anahtar altyordam: Birleştirme September, 05 Introduction to Algorithms L1.5

26 Sıralı iki dizilimi birleştirme 1 September, 05 Introduction to Algorithms L1.6

27 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.

28 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.8

29 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.

30 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.30

31 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.31

32 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.3

33 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.33

34 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.34

35 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.35

36 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.36

37 Sıralı iki dizilimi birleştirme 1 1 September, 05 Introduction to Algorithms L1.3

38 Sıralı iki dizilimi birleştirme 1 1 Süre = Θ(n), toplam n elemanı birleştirmek için (doğrusal zaman). September, 05 Introduction to Algorithms L1.38

39 Birleştirme sıralamasının çözümlenmesi Suistimal T(n) Θ(1) T(n/) Θ(n) BİRLEŞTİRME-SIRALAMASI A[1.. n] 1. Eğer n = 1'se, bitir.. Yinelemeli olarak A[ 1.. n/ ] ve A[ n/ +1.. n ]'yi sırala. 3. sıralı listeyi Birleştir Özensizlik: T( n/ ) + T( n/ ) olması gerekir, ama asimptotik açıdan bu önemli değildir. September, 05 Introduction to Algorithms L1.3

40 Birleştirme sıralaması için yineleme T(n) = Θ(1) eğer n = 1ise; T(n/) + Θ(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.. Derste T(n)'nin üst sınırını bulmanın birkaç yolunu inceleyeceğiz. September, 05 Introduction to Algorithms L1.40

41 Yineleme ağacı T(n) = T(n/) + cn'yi çözün; burada c > 0 bir sabittir. September, 05 Introduction to Algorithms L1.41

42 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. T(n) September, 05 Introduction to Algorithms L1.4

43 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. cn T(n/) T(n/) September, 05 Introduction to Algorithms L1.43

44 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. cn cn/ cn/ T(n/4) T(n/4) T(n/4) T(n/4) September, 05 Introduction to Algorithms L1.44

45 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir.'i cn cn/ cn/ cn/4 cn/4 cn/4 cn/4 Θ(1) September, 05 Introduction to Algorithms L1.45

46 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. cn cn/ cn/ h = lg n cn/4 cn/4 cn/4 cn/4 Θ(1) September, 05 Introduction to Algorithms L1.46

47 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/ cn/ h = lg n cn/4 cn/4 cn/4 cn/4 Θ(1) September, 05 Introduction to Algorithms L1.4

48 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/ cn/ cn h = lg n cn/4 cn/4 cn/4 cn/4 Θ(1) September, 05 Introduction to Algorithms L1.48

49 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/ cn/ cn h = lg n cn/4 cn/4 cn/4 cn/4 cn Θ(1) September, 05 Introduction to Algorithms L1.4

50 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/ cn/ cn h = lg n cn/4 cn/4 cn/4 cn/4 cn Θ(1) yaprak sayısı = n Θ(n) September, 05 Introduction to Algorithms L1.50

51 Yineleme ağacı T(n) = T(n/) + cn'i çözün; burada c > 0 bir sabittir. cn cn cn/ cn/ cn h = lg n cn/4 cn/4 cn/4 cn/4 cn Θ(1) yaprak sayısı = n Θ(n) Toplam = Θ(n lg n) September, 05 Introduction to Algorithms L1.51

52 Sonuçlar Θ(n lg n), Θ(n )'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! September, 05 Introduction to Algorithms L1.5

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ı

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ı

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ı

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ı

Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15.

Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15. Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology 6.046J/18.410J Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15 Problem Seti 4 Okumalar: Bölüm 12 13 ve 18 Hem egzersizler

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ı

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ı

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ı

6.046J/18.401J DERS 7 Kıyım Fonksiyonu (Hashing I) Prof. Charles E. Leiserson

6.046J/18.401J DERS 7 Kıyım Fonksiyonu (Hashing I) Prof. Charles E. Leiserson Algoritmalara Giriş 6.046J/8.40J DERS 7 Kıyım Fonksiyonu (Hashing I) Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme Prof. Charles E. Leiserson October

Detaylı

Algoritmalar. DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme

Algoritmalar. DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme Algoritmalar DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme October 19, 2005 Copyright 2001-5 by Erik D. Demaine and

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ı

Problem Seti 2 Çözümler

Problem Seti 2 Çözümler Algoritmalara Giriş Ekim 7, 2005 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 12 Problem Seti 2 Çözümler Problem 2-1. Bu (yaklaşık) sıralanmış

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ı

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ı

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ı

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ı

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ı

Algoritmalar (MCS 401) Ders Detayları

Algoritmalar (MCS 401) Ders Detayları Algoritmalar (MCS 401) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Algoritmalar MCS 401 Seçmeli 2 2 0 3 6 Ön Koşul Ders(ler)i Dersin Dili Dersin Türü

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ı

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş 6.046J/18.401J Algoritmalara Giriş 6.046J/18.401J DERS 14 Yarışmacı Çözümleme Kendini Düzenleyen Listeler Öne Taşıma - Buluşsal Yaklaşım Öne Taşımanın Yarışmacı Çözümlemesi Prof. Charles E. Leiserson Kendini Düzenleyen

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ı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Biçimsel model nedir Biçimsel model matematiksel olarak tanımlanmış olan bir modeldir.

Detaylı

Algoritmalara Giriş J/18.401J Ders 15. Dinamik Programlama En uzun ortak altdizi En uygun altyapı Altproblemlerin çakışması

Algoritmalara Giriş J/18.401J Ders 15. Dinamik Programlama En uzun ortak altdizi En uygun altyapı Altproblemlerin çakışması Algoritmalara Giriş 6.046J/18.401J Ders 15 Dinamik Programlama En uzun ortak altdizi En uygun altyapı Altproblemlerin çakışması Prof. Charles E. Leiserson November 7, 2005 Copyright 2001-5 by Erik D. Demaine

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ı

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ı

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2001

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2001 Dersi Veren Birim: Bilgisayar Mühendisliği Dersin Türkçe Adı: VERİ YAPILARI VE ALGORİTMALAR Dersin Orjinal Adı: DATA STRUCTURES AND ALGORITHMS Dersin Düzeyi:(Ön lisans, Lisans, Yüksek Lisans, Doktora)

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ı

Veri Yapıları ve Algoritmalar 2006-2007 2.dönem

Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Veri Yapıları ve Algoritmalar 2006-2007 2.dönem Öğretim Elemanları: Dr. A. Şima Etaner-Uyar Dr. Gülşen Cebiroğlu-Eryiğit Dersle ilgili bilgiler Ders Kitabı Data Structures and Algorithms in Java, 4th Ed.,

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ı

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş 6.046J/18.401J Algoritmalara Giriş 6.046J/18.401J Ders 17 En kısa yollar I En kısa yolların özellikleri Dijkstra algoritması Doğruluk Çözümleme Enine arama Prof. Erik Demaine November 14, 005 Copyright 001-5 by Erik

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ı

Makine Öğrenmesi 3. hafta

Makine Öğrenmesi 3. hafta Makine Öğrenmesi 3. hafta Entropi Karar Ağaçları (Desicion Trees) ID3 C4.5 Sınıflandırma ve Regresyon Ağaçları (CART) Karar Ağacı Nedir? Temel fikir, giriş verisinin bir kümeleme algoritması yardımıyla

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ı

Insertion Sort. (Sokuşturma Sıralaması)

Insertion Sort. (Sokuşturma Sıralaması) Insertion Sort (Sokuşturma Sıralaması) Bu sıralama Bubble Sort algoritmasının iyileştirilmiş biçimidir. Zaman karmaşası (time complexity) O(n 2 ) dir. Bu algoritmayı açıklayan basit bir örnek verebiliriz.

Detaylı

Textbook & References. Algorithms & Analysis. Baslica Amac. Problemin Cozumu. Amaclar. Ne ogrenecegiz. Problem Tanimlama & Belirleme

Textbook & References. Algorithms & Analysis. Baslica Amac. Problemin Cozumu. Amaclar. Ne ogrenecegiz. Problem Tanimlama & Belirleme Algorithms & Analysis Textbook & References 1.1 Introduction to Algorithms, 2 nd Ed. by Cormen, Leiserson, Rivest & Stein, MIT Press, 2001 OTHER REFERENCES -- The Design and Analysis of Computer Algorithms,

Detaylı

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

İnternet Programcılığı Öğr. Gör. Serkan AKSU  PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler PHP de Dizi-Değişkenler, Nesneler Dizilerle ilgili örneklere geçmeden önce aşağıdaki tabloyu inceleyelim. Tabloda dizi kavramının mantığı açıklanmaktadır. Tablonun tamamını bir dizi olarak düşünün ve bu

Detaylı

Pratik Final Sınavı Çözümleri 2

Pratik Final Sınavı Çözümleri 2 Pratik Final Sınavı Çözümleri 1 Algoritmalara Giriş 18 Mayıs 2003 Massachusetts Institute of Technology 6.046J/18.410J Profesörler Erik D. Demaine ve Charles E. Leiserson Pratik Final Sınavı Dağıtılan

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 BAŞLAMADAN ÖNCE Bu dersi alan öğrencilerin aşağıdaki konuları bildiği

Detaylı

VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr

VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr Genel İçerik Veri Madenciliğine Giriş Veri Madenciliğinin Adımları Veri Madenciliği Yöntemleri Sınıflandırma

Detaylı

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş 6.046J/18.401J Algoritmalara Giriş 6.046J/.40J DERS Veri Yapılarının Genişletilmesi Dinamik Seviye İstatistikleri Metodoloji Aralık Ağaçları Prof. Charles E. Leiserson Dinamik Seviye İstatistikleri OS-SEÇ(i,S) : dinamik

Detaylı

Algoritmalara Giriş Kasım 7, 2005 Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson Dağıtım 22.

Algoritmalara Giriş Kasım 7, 2005 Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson Dağıtım 22. Algoritmalara Giriş Kasım 7, 2005 Massachusetts Institute of Technology 6.046J/18.410J Profesör Erik D. Demaine ve Charles E. Leiserson Dağıtım 22 Problem Seti 7 Okumalar: Bölüm 15, 16.1 16.3, 22.1 ve

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ı

Veri Yapıları. for(i=1;i=0 && ekle<=d[k] ;k ) D[k+1]=D[k]; /* Geriye kaydırılıyor*/

Veri Yapıları. for(i=1;i<n;i++) { ekle=d[i]; for (k=i 1; k>=0 && ekle<=d[k] ;k ) D[k+1]=D[k]; /* Geriye kaydırılıyor*/ Program çalışma hızı; Belirlenen bir problemin çözümü için tasarlanan program kodunun görevini yerine getirmesi için gerekli zaman bilgisini veren bir ifadededir. Bellek Gereksinimi; Programın yürütülmesi

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS PROGRAMLAMA BG-213 2/1 2+0+2 2+1 5 Dersin Dili : TÜRKÇE Dersin Seviyesi : LİSANS

Detaylı

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım Mehmet Ali Aytekin Tahir Emre Kalaycı Gündem Gezgin Satıcı Problemi GSP'yi Çözen Algoritmalar Genetik Algoritmalar

Detaylı

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu Öğr. Gör. M. Ozan AKI r1.0 Algoritmalar (Algorithms) Algoritma, bir problemin çözümünü sağlayan ancak deneme-yanılma ve sezgisel çözüme karşıt bir

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ı

T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI. 2011-12 Bahar Yarıyılı

T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI. 2011-12 Bahar Yarıyılı T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI 2011-12 Bahar Yarıyılı ALGORİTMA VE PROGRAMLAMA BİL 133 5 AKTS Kredisi 1. yıl 1. yarıyıl Lisans Zorunlu 4 saat/hafta

Detaylı

Algoritmalara Giriş. Prof. Erik Demaine. November 16, 2005 Copyright by Erik D. Demaine and Charles E. Leiserson L18.1

Algoritmalara Giriş. Prof. Erik Demaine. November 16, 2005 Copyright by Erik D. Demaine and Charles E. Leiserson L18.1 Algoritmalara Giriş 6.06J/8.0J Ders 8 En Kısa Yollar II Bellman-Ford algoritması Doğrusal Programlama ve fark kısıtları VLSI yerleşimi küçültülmesi Prof. Erik Demaine November 6, 00 Copyright 00- by Erik

Detaylı

2.1 Bir Sınıfı Örneklerinden Öğrenme... 15 2.2 Vapnik-Chervonenkis (VC) Boyutu... 20 2.3 Olası Yaklaşık Doğru Öğrenme... 21

2.1 Bir Sınıfı Örneklerinden Öğrenme... 15 2.2 Vapnik-Chervonenkis (VC) Boyutu... 20 2.3 Olası Yaklaşık Doğru Öğrenme... 21 İçindekiler Önsöz İkinci Basım için Önsöz Türkçe Çeviri için Önsöz Gösterim xiii xv xvii xix 1 Giriş 1 1.1 Yapay Öğrenme Nedir?......................... 1 1.2 Yapay Öğrenme Uygulamalarına Örnekler...............

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ı

BIP116-H14-1 BTP104-H014-1

BIP116-H14-1 BTP104-H014-1 VERİ YAPILARI VE PROGRAMLAMA (BIP116) 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ı

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ı

T.C. MARDİN ARTUKLU ÜNİVERSİTESİ MİDYAT MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI (UZAKTAN ÖĞRETİM) ÖNLİSANS PROGRAMI Eğitim Öğretim Yılı

T.C. MARDİN ARTUKLU ÜNİVERSİTESİ MİDYAT MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI (UZAKTAN ÖĞRETİM) ÖNLİSANS PROGRAMI Eğitim Öğretim Yılı T.C. MARDİN ARTUKLU ÜNİVERSİTESİ MİDYAT MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI (UZAKTAN ÖĞRETİM) ÖNLİSANS PROGRAMI 2017-2018 Eğitim Öğretim Yılı ALGORİTMA VE PROGRAMLAMAYA GİRİŞ BPU101 5 AKTS 1. yıl/1.yarıyıl

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ı

PERMÜTASYON, KOMBİNASYON. Örnek: Örnek: Örnek:

PERMÜTASYON, KOMBİNASYON. Örnek: Örnek: Örnek: SAYMANIN TEMEL KURALLARI Toplama Kuralı : Sonlu ve ayrık kümelerin eleman sayılarının toplamı, bu kümelerin birleşimlerinin eleman sayısına eşittir. Mesela, sonlu ve ayrık iki küme A ve B olsun. s(a)=

Detaylı

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

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Algoritma & Matlab. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Algoritma & Matlab 1 Algoritma Algoritma ; verilerin bilgisayara hangi çevre biriminden

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ı

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ Mühendislik Mimarlık Fakültesi İnşaat Mühendisliği Bölümü E-Posta: ogu.ahmet.topcu@gmail.com Web: http://mmf.ogu.edu.tr/atopcu Bilgisayar Destekli Nümerik Analiz Ders notları

Detaylı

Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19.

Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19. Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19 Problem Seti 6 Okumalar: Bölüm 17 ve karşılaştırmalı

Detaylı

Merge Sort Bireşen Sıralama

Merge Sort Bireşen Sıralama Merge Sort Bireşen Sıralama Merge sort (bireşen sıralama), diziyi ardışık olarak en küçük alt dizilerine kadar yarılayan sonra da onları sıraya koyarak bireştiren özyineli bir algoritmadır. Yarılama işlemi

Detaylı

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Çarpışma çözümleme yöntemleri Sunum planı Bağlantıları kullanarak çarpışmaların çözümlenmesi. Coalesced Hashing (Birleştirilmiş

Detaylı

İÇİNDEKİLER İÇİNDEKİLER KODLAB

İÇİNDEKİLER İÇİNDEKİLER KODLAB İÇİ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ı

Bu materyallerden alıntı yapmak veya kullanım şartları hakkında bilgi almak için:

Bu materyallerden alıntı yapmak veya kullanım şartları hakkında bilgi almak için: MIT Açık Ders malzemeleri http://ocw.mit.edu 6.046J Algoritmalara Giriş, Güz 2005 Bu materyallerden alıntı yapmak veya kullanım şartları hakkında bilgi almak için: Erik Demaine ve Charles Leiserson, 6.046J

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ı

İ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ı

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ı

TURGUT ÖZAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ. DERS TANITIM ve UYGULAMA BİLGİLERİ. Ders. Yarıyılı

TURGUT ÖZAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ. DERS TANITIM ve UYGULAMA BİLGİLERİ. Ders. Yarıyılı TURGUT ÖZAL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ DERS TANITIM ve UYGULAMA BİLGİLERİ Dersin Adı Kodu Yarıyılı Ders (Saat/Hafta) Uygulama 3 Kredisi ECTS (Saat/Hafta) Veri Yapıları ve

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Derse Giriş Ders Web Sitesi: www.canerozcan.net Ofis Saatleri: Salı 11:00-13:00 Perşembe 15:30-17:30 ya da email ile randevu alınız: canerozcan@karabuk.edu.tr Kaynak Kitaplar:

Detaylı

Örnek. Aşağıdaki veri setlerindeki X ve Y veri çiftlerini kullanarak herbir durumda X=1,5 için Y nin hangi değerleri alacağını hesaplayınız.

Örnek. Aşağıdaki veri setlerindeki X ve Y veri çiftlerini kullanarak herbir durumda X=1,5 için Y nin hangi değerleri alacağını hesaplayınız. Örnek Aşağıdaki veri setlerindeki X ve Y veri çiftlerini kullanarak herbir durumda X=1,5 için Y nin hangi değerleri alacağını hesaplayınız. i. ii. X 1 2 3 4 1 2 3 4 Y 2 3 4 5 4 3 2 1 Örnek Aşağıdaki veri

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ı

Algoritmalar. Ders 14 En Kısa Yollar II Bellman-Ford algoritması Floyd-Warshall algoritması

Algoritmalar. Ders 14 En Kısa Yollar II Bellman-Ford algoritması Floyd-Warshall algoritması Algoritmalar ers En Kısa Yollar II Bellman-Ford algoritması Floyd-Warshall algoritması November, 00 opyright 00- by Erik. emaine and harles E. Leiserson Negatif-ağırlıklı çevrimler Hatırlatma: Eğer graf

Detaylı

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati Kredi AKTS (T+U+L) YÖNEYLEM ARAŞTIRMA İÇİN ALGORİTMALAR EN-312 3/I 3+0+0 3 5 Dersin Dili : Türkçe Dersin

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi Veri Yapıları Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi Hash Tabloları ve Fonksiyonları Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing

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ı

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İ 2014-2015 BAHAR DÖNEMİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BBM202 Algoritmalar 2. Ara Sınav 09.04.2015 Sınav Süresi: 90 dakika

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 9 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Dizileri Fonksiyonlara Dizileri Fonksiyonlara Bir dizi argümanını fonksiyon içinde bir değer olarak kullanabilmek

Detaylı

ÜRETİM ÇİZELGELEME. Yrd. Doç. Dr. Pınar Mızrak Özfırat. Celal Bayar Üniversitesi Yayınları Yayın No: 0010

ÜRETİM ÇİZELGELEME. Yrd. Doç. Dr. Pınar Mızrak Özfırat. Celal Bayar Üniversitesi Yayınları Yayın No: 0010 ÜRETİM ÇİZELGELEME Yrd. Doç. Dr. Pınar Mızrak Özfırat Celal Bayar Üniversitesi Yayınları Yayın No: 0010 2013 Celal Bayar Üniversitesi Yönetim Kurulu'nun 2013/13 sayılı ve X no'lu kararı ile basılmıştır.

Detaylı

VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ

VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ Yard. Doç. Dr. Deniz KILINÇ CELAL BAYAR ÜNİVERSİTESİ, YAZILIM MÜHENDİSLİĞİ 2015-2016 1. DERS İÇERİĞİ VE KAYNAKLAR Veri Yapıları (VY) dersinde görülmesi muhtemel

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 VERİ YAPILARI Sunu Planı Kendini-gösteren Yapılar Dinamik Bellek Tahsisi Bağlı Listeler Yığınlar Kuyruklar Ağaçlar 1 Veri Yapıları Şu ana kadar, diziler, matrisler ve yapılar

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ı

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ı

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 1001

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 1001 Dersi Veren Birim: Bilgisayar Mühendisliği Dersin Türkçe Adı: ALGORİTMA VE PROGRAMLAMA I Dersin Orjinal Adı: ALGORITHMS AND PROGRAMMING I Dersin Düzeyi:(Ön lisans, Lisans, Yüksek Lisans, Doktora) Lisans

Detaylı

Mikroişlemcilerde Aritmetik

Mikroişlemcilerde Aritmetik Mikroişlemcilerde Aritmetik Mikroişlemcide Matematiksel Modelleme Mikroişlemcilerde aritmetik işlemler (toplama, çıkarma, çarpma ve bölme) bu iş için tasarlanmış bütünleşik devrelerle yapılır. Bilindiği

Detaylı

ÖZEL EGE LİSESİ FİBONACCİ DİZİLERİ YARDIMIYLA DEĞERİNİ HESAPLAYAN BİR FORMÜL

ÖZEL EGE LİSESİ FİBONACCİ DİZİLERİ YARDIMIYLA DEĞERİNİ HESAPLAYAN BİR FORMÜL ÖZEL EGE LİSESİ FİBONACCİ DİZİLERİ YARDIMIYLA DEĞERİNİ HESAPLAYAN BİR FORMÜL HAZIRLAYAN ÖĞRENCİ: Tilbe GÖKÇEL DANIŞMAN ÖĞRETMEN: Emel ERGÖNÜL İZMİR 2013 İÇİNDEKİLER 1. PROJENİN AMACI... 3 2. GİRİŞ... 3

Detaylı

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama Bölüm 39 Binary Search (Yarılama) 39.1 Dizide Bir Öğe Arama İkil aramayı (yarılama yöntemi) sıralı veri kümelerinde sık sık kullanırız. Örneğin, sözlükte bir sözcüğü ararken, sözlüğün bütün sayfalarını

Detaylı

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati Kredi AKTS (T+U+L) ŞEBEKE MODELLERİ EN-413 4/I 3+0+0 3 5 Dersin Dili : İngilizce Dersin Seviyesi : Lisans

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Ara sınav - 25% Ödev (Haftalık) - 10% Ödev Sunumu (Haftalık) - 5% Final (Proje Sunumu) - 60% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn:

Detaylı

Arama Algoritmaları. Doğrusal Arama ve Binary Arama

Arama Algoritmaları. Doğrusal Arama ve Binary Arama Arama Algoritmaları Doğrusal Arama ve Binary Arama Doğrusal Arama-Örnek Dizi (Array) sayilistesiiçerisindeki sayılar aşağıdaki gibidir: 17 23 5 11 2 29 3 11, verilen dizi içerisinde aranacaksa doğrusal

Detaylı

1. Hafta SAYISAL ANALİZE GİRİŞ

1. Hafta SAYISAL ANALİZE GİRİŞ SAYISAL ANALİZ 1. Hafta SAYISAL ANALİZE GİRİŞ 1 AMAÇ Mühendislik problemlerinin çözümünde kullanılan sayısal analiz yöntemlerinin algoritmik olarak çözümü ve bu çözümlemelerin MATLAB ile bilgisayar ortamında

Detaylı

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1

Dosya Sıkıştırma (File Compression) Kütük Organizasyonu 1 Dosya Sıkıştırma (File Compression) Kütük Organizasyonu İçerik Dosya sıkıştırma nedir? Dosya sıkıştırma yöntemleri nelerdir? Run-Length Kodlaması Huffman Kodlaması Kütük Organizasyonu 2 Dosya Sıkıştırma

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

Uzaktan Algılama Teknolojileri

Uzaktan Algılama Teknolojileri Uzaktan Algılama Teknolojileri Ders 11 Hiperspektral Görüntülerde Kümeleme ve Sınıflandırma Alp Ertürk alp.erturk@kocaeli.edu.tr Sınıflandırma Sınıflandırma işleminin amacı, her piksel vektörüne bir ve

Detaylı

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1 Bilgisayar Mühendisliği Bilgisayar Mühendisliğine Giriş 1 Mühendislik Nedir? Mühendislik, bilim ve matematiğin yararlı cihaz ve sistemlerin üretimine uygulanmasıdır. Örn: Elektrik mühendisleri, elektronik

Detaylı

Algoritma ve Programlama I

Algoritma ve Programlama I SAKARYA ÜNİVERSİTESİ Algoritma ve Programlama I Hafta 1 Yrd. Doç. Dr. Cemil ÖZ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine uygun olarak

Detaylı

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta SAYISAL ÇÖZÜMLEME Yrd.Doç.Dr.Esra Tunç Görmüş 1.Hafta Sayısal çözümleme nümerik analiz nümerik çözümleme, approximate computation mühendislikte sayısal yöntemler Computational mathematics Numerical analysis

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN BAĞLI LİSTELER Bağlı listeler konusuna çalışmanın bazı faydaları var. Bağlı listeler gerçek programlarda kullanılabilecek bir veri yapısıdır. Bağlı listelerin güçlü ve zayıf yönlerini

Detaylı