VERİ YAPILARI VE PROGRAMLAMA (BTP104)

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

Download "VERİ YAPILARI VE PROGRAMLAMA (BTP104)"

Transkript

1 VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr.İ.Hakkı.Cedimoğlu

2 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine uygun olarak hazırlanan bu ders içeriğinin bütün hakları saklıdır. İlgili kuruluştan izin almadan ders içeriğinin tümü ya da bölümleri mekanik, elektronik, fotokopi, manyetik kayıt veya başka şekillerde çoğaltılamaz, basılamaz ve dağıtılamaz. Copyright 2008 by Sakarya University All rights reserved No part of this course contenet may be reproduced or stored in a retrieval system, or transmitted in any form or by any means mechanical, electronic, photocopy, magnetic, tape or otherwise, without permission in writing from the University. Sürüm 1 Sakarya 2008 S 1

3 Algoritma Analizi, Algoritmalarda Karmaşıklık ve Zaman Karmaşıklığı Bu Haftanın Hedefi: Kullanılan semboller Animasyon Soru Veritabanı Bağlantılı Soru Simülasyon Püf Noktası 1

4 VERİ YAPILARI Bir problemin çözümünde kullanılan komutlar dizisine algoritma adı verilir. Algoritma, bir problemi çözmek için geliştirilmiş kesin bir yöntemdir. Bir algoritma, programlama dillerine (C, Pascal gibi) uygulandığında program adını alır. Algoritmalar tarafından işlenen en temel elemanlara (sayısal bilgiler, metinsel bilgiler, resimler, sesler, vb.) veri adı verilir. Bir algoritmanın etkin, anlaşılır ve doğru olabilmesi için algoritmanın işleyeceği verilerin düzenlenmesi gerekir. Verilerin düzenlenme biçimini belirleyen yapıtaşlarına veri yapıları denir. Bir program değişkeni bile basit bir veri yapısı olarak kabul edilebilir. Değişik algoritmalarda verilerin diziler, yığınlar, kuyruklar ve ağaçlar gibi veri yapıları şeklinde düzenlenmesi gerekebilir. Bir programda veri, yapı ve algoritma, önemli ve birbirlerinden ayrılmaz bileşenlerdir. Verilerin düzenlenme biçimleri de önemlidir. Çünkü, yapı iyi tasarlandığında, etkin, anlaşılır, doğru ve hızlı çalışıp az kaynak kullanan algoritma geliştirmek kolaylaşır. ALGORİTMA ANALİZİ Algoritmalar tarafından kullanılan bilgisayar kaynaklarının (işletim süresi, bellek miktarı vb.) önemli olduğu uygulamalarda etkili algoritmalar geliştirmek şarttır. Algoritmaları analiz etmenin en önemli nedenlerinden biri, çeşitli uygulamalarda algoritmanın uygunluğu'nu ifade edebilmek için algoritmanın niteliğini (karakteristiğini) bilmek yada bir algoritmayı diğerleri ile karşılaştırmak isteğidir. Nitelikler, daha çok bilgisayar kaynakları olan zaman ve bellek ile alakalıdır. Bir başka deyişle, belirli bir algoritmanın işletimi için bilgisayar ortamında ne kadar süreye ve belleğe gereksinim olduğu önemlidir. Bir problemin çözümünde, kullanılabilecek olan algoritmalardan en etkin olanı seçilmelidir. En kısa sürede çözüme ulaşan veya en az işlem yapan algoritma tercih edilmelidir. Daha kısa zaman alan bir algoritma yazmak için daha çok kod yazmak veya daha çok bellek kullanmak gerekebilir. Bazı durumlarda da en az bellek harcayan algoritmanın kullanılması gerekebilir. Algoritma analizinin, algoritmanın oluşturulmasından bağımsız olarak yapılması kolay değildir. Derleyici özellikleri, bilgisayar mimarisi, gerçekleştirim kalitesi ve benzeri konular elbette algoritmanın performansını etkiler. Fakat, analiz süreci, söz konusu etkenleri ve programlama ortamının olası tüm avantajlarını tanımamıza da fırsat verir. Algoritmaları yaptıkları iş açısından karşılaştırmak için her algoritmaya uygulanabilecek somut ölçüler oluşturulmalıdır. Aynı işi yapan algoritmalardan daha az işlemle sonuca ulaşanın yani daha hızlı olanın belirlenmesi gerekir. İlk çözüm; algoritmaları bir programlama dilinde kodlayıp her iki programı da çalıştırarak işletim sürelerini karşılaştırmaktır. Bu yöntemde işletim süreleri belirli bir bilgisayara özeldir ve işletim süresi de bu bilgisayara bağlıdır. Daha genel bir ölçüm yapabilmek için tüm bilgisayarlar üzerinde algoritmanın çalıştırılması gerekir. İkinci çözüm; işletilen komut ve deyimlerin sayısını bulmaktır. Fakat bu ölçüm kullanılan programlama diline göre ve programcıların stiline göre değişim gösterebilir. Bunun yerine algoritmadaki kritik geçişlerin sayısı hesaplanabilir. Her tekrar için yapılan iş ve süre sabitse, bu ölçü anlamlı hale gelir. Buradan, algoritmanın temelinde yatan bir işlemi ayırarak, bu işlemin kaç kere tekrarlandığını bulma düşüncesi doğmuştur. 2

5 Bir tamsayı dizisindeki tüm elemanların toplamını hesaplama işleminde, gerekli olan iş miktarını ölçmek için tamsayı toplama işlemlerinin sayısının bulunması örnek olarak verilebilir. 100 elemanlı bir dizideki elemanların toplamını bulmak için 99 toplama işlemi yapılmalıdır. n elemanlı bir listedeki elemanların toplamını bulmak için n-1 toplama işlemi yapmak gerekir diye genelleştirme yapabiliriz. Böylece algoritmaları karşılaştırırken belirli bir dizi boyutu ile sınırlı kalınmaz. İŞLETİM ZAMANI (RUNNING TIME) KARMAŞIKLIĞI İşletim, zamanın girdi boyutunun bir fonksiyonu olarak ele alınmasıdır. Tüm girdilerin tek değere indirilmesi, değişik algoritmaları karşılaştırmayı kolaylaştırır. En yaygın karmaşıklık ölçüleri En Kötü Durum İşletim Süresi (Worst-Case Running Time) ve Ortalama Durum İşletim Süresi (Average-Case Running Time)'dir. En Kötü Durum İşletim Süresi (Worst-Case Running Time): Bu işletim süresi, her girdi boyutundaki herhangi bir girdi için en uzun işletim süresini bildirir. Bir programın en kötü ihtimalle ne kadar süreceğinin tahmin edilmesi istenen bir durumdur. Örnek olarak n elemanlı bir listede sıralı arama en kötü ihtimalle (aranan bulunamazsa) n karşılaştırma gerektirecektir. Yani En Kötü Durum İşletim Süresi T(n) = n'dir. Tüm problemlerde sadece en kötü girdi dikkate alındığı için en kötü durum işletim süresi değerini hesaplamak göreceli olarak kolaydır. Ortalama Durum İşletim Süresi (Average-Case Running Time): Bu işletim süresi, her girdi boyutundaki tüm girdilerin ortalamasıdır. n elemanın her birinin aranma olasılığının eşit olduğu varsayıldığında ve liste dışından bir eleman aranmayacağı varsayıldığında ortalama işletim süresi (n+1)/2'dir. Liste dışından bir elemanın da aranma durumu hesaba katıldığında ortalama işletim süresi [(n+1)/2, n] aralığındadır (aranan elemanların listede olma eğilimine bağlı olarak). Ortalama durum analizi basit varsayımlar yapıldığında bile zordur ve varsayımlar da gerçek performansın iyi tahmin edilememesine neden olabilir. ZAMAN KARMAŞIKLIĞI Zaman karmaşıklığı, girdi boyutu sonsuza yaklaşırken işletim süresinin artışını temsil eder. Yapılan işi, girdi boyutunun bir fonksiyonu olarak hesaplamaya benzer. Aralarındaki fark girdi boyutunun büyük olduğunu kabul ederek, fonksiyonda en hızlı artış gösteren terimin belirlenmesidir. Bu fonksiyon yaklaşımı matematiksel gösterim kullanarak Big-O gösterimi veya Zaman Karmaşıklığı olarak ifade edilir. Örnek olarak : f(n) = n n n n + 60 = O(n 4 ) fonksiyonunda n'in derecesi n 4 'tür, yani n'in büyük değerleri için fonksiyonu en fazla n 4 etkiler. n'in çok büyük değerleri için n 4, 100n 3 'den, 50n 2 'den 20n'den ve 60'den çok büyük olacağından daha düşük 3

6 dereceli terimler dikkate alınmayabilir. Bu diğer terimlerin, işlem süresini etkilemedikleri anlamına gelmez; bu yaklaşım yapıldığında n'in çok büyük değerlerinde önem taşımadıkları anlamına gelir. f(n) = 100n n n + 60 = O(n 3 ) fonksiyonunda benzer mantıkla n'in derecesi n 3 'tür. Burada ilk bakışta, n 3 'ün önündeki 100 çarpanının etkisi n'in büyük değerleri için fazla olduğu düşünülebilir, fakat burada belirtilmek istenen fonksiyonun kübik bir şekilde arttığıdır. Bu yüzden n'in büyük değerleri için fonksiyonu en fazla n 3 etkiler diyebiliriz. Yukarda verilen fonksiyonlardaki n, problemin boyutudur. Dizi, yığın, kuyruk, bağlantılı liste, ağaç gibi veri yapılarında eleman sayılarıdır. Zaman karmaşıklığı hesaplamada aşağıdaki kurallar uygulanır; 1. Tek satırlık, dizinin boyutuyla ilişkisi olmayan komutlar O(1) zamanı alır. 2. Döngüler içerdikleri döngü komutlarının belli bir şarta kadar icrasını sağlarlar, bu şart genelde dizi boyutu ile ilişkili olduğundan O(n) zamanı alır. (n = dizi boyutu) 3. İçiçe döngüler zaman karmaşıklıklarının çarpılması şeklinde hesaplanır. Birinci döngü icra sayısı n, ikinci döngü m ise, O(nxm); ikisi de n ise O(n 2 ) zamanı alır. 4. Ardarda döngüler zaman karmaşıklıklarının toplanması şeklinde hesaplanır. 5. If-then-else gibi şartlı yapılarda iki koşuldan zaman karmaşıklığı yüksek olan alınır. 6. Her bir icra, problemi dizi boyutunun yarısı şeklinde ikiye bölüyorsa, zaman karmaşıklığı O(log 2 n) değerini alır. Not 1: Katsayısı daha küçük olan zaman karmaşıklıklarının ihmal edileceği unutulmamalıdır. (O(n+n 2 ) = O(n 2 ) gibi) Not 2: Büyüklük değerlerinin önlerindeki sabit çarpanlar önemsenmez. (O(6n) = O(n) gibi) ZAMAN KARMAŞIKLIĞI Örnek: 4

7 2. satırdaki komutun icrası O(1) zamanı alır. 1. satırda başlayan ve 3. satırda biten for döngüsü dizinin boyutu (n) kadar icra sağlar, dolayısıyla O(n) zamanı alır. İçindeki komutlar O(1) olduğundan O(nx1) = O(n) zamanı alır. 6. satırdaki komutun icrası O(1) zamanı alır. 5. satırda başlayan ve 7. satırda biten for döngüsü dizinin boyutu (n) kadar icra sağlar, dolayısıyla O(n) zamanı alır. İçindeki komutlar O(1) olduğundan O(nx1) = O(n) zamanı alır. 4. satırda başlayan ve 8. satırda biten for döngüsü dizinin boyutu (n) kadar icra sağlar, dolayısıyla O(n) zamanı alır. İçindeki komutlar O(n) olduğundan O(nxn) = O(n 2 ) zamanı alır. 1. satırdan 8. satıra kadar programın icrası incelendiğinde, 1-3 satırları arasında O(n), 4-8 satırları arasında O(n 2 ) zamanı aldığını söyleyebiliriz. Toplam zaman ise (ardarda döngüler) O(n+ n 2 ) = O(n 2 ) şeklinde ifade edilir. Örnek: 4, 5 ve 6. satırdaki komutların icrası O(1) zamanı alır. 3. satırda başlayan ve 7. satırda biten if yapısı tek bir karşılaştırma ve bu karşılaştırmaya bağlı olarak 3 tane O(1) zamanı (karşılaştırma doğru ise) veya O(0) zamanı (karşılaştırma yanlış ise) alır. Yani toplam olarak O(1) zamanı alır. 2. satırda başlayan ve 8. satırda biten for döngüsü dizinin boyutu (n) kadar icra sağlar, dolayısıyla O(n) zamanı alır. İçindeki komutlar O(1) olduğundan O(nx1) = O(n) zamanı alır. 1. satırda başlayan ve 9. satırda biten for döngüsü dizinin boyutu (n) kadar icra sağlar, dolayısıyla O(n) zamanı alır. İçindeki komutlar O(n) olduğundan (içiçe döngüler) O(nxn) = O(n 2 ) zamanı alır. Toplam zaman O(n 2 ) şeklinde ifade edilir. 5

8 BAŞLICA ZAMAN KARMAŞIKLIĞI DEĞERLERİ VE İNCELENMESİ O(1) : Sabit zaman Örnek : n elemanlı bir dizinin i. elemanına bir değer atanması O(1)'dir. Çünkü bir elemana indisinden doğrudan erişilmektedir. O(n) : Doğrusal zaman Örnek : n elemanlı bir dizinin tüm elemanlarının ekrana yazdırılması O(n)'dir. O(log 2 n) : Logaritmik zaman, O(1)'den fazla O(n)'den azdır. Örnek : Sıralı bir listenin elemanları içinde ikili arama (binary search) uygulanarak belirli bir değerin aranması O(log 2 n)'dir. O(n 2 ) : Karesel zaman Örnek : Basit sıralama algoritmalarının birçoğu (seçerek sıralama (selection sort) gibi) O(n 2 )'dir. O(n.log 2 n) : Bazı hızlı sıralama algoritmaları (birleşmeli sıralama (merge sort) gibi) O(n.log 2 n)'dir. O(n 3 ) : Kübik zaman Örnek : Üç boyutlu bir tamsayı tablosundaki her elemanın değerini artıran algoritma. O(2 n ) : Üstel zaman, çok büyük değerlere ulaşır. Değişik artış fonksiyonlarının aldıkları değerlere göre zaman karmaşıklıkları aşağıdaki tabloda gösterilmiştir; 6

9 BAŞLICA ZAMAN KARMAŞIKLIĞI DEĞERLERİ VE İNCELENMESİ Yukarıdaki tablodaki fonksiyonlardan elde edilmiş grafik aşağıda görülmektedir; Buradaki tablo ve grafikteki sonuçlar, dizi boyutu büyük olan problemlerde, O(n 3 ), O(2 n ), O(n 2 ) vb. zaman karmaşıklığına sahip algoritmaların oldukça yavaş sonuç ürettiklerini göstermektedir. Dizi boyutu fazla olan problemlerin çözümünde, zaman karmaşıklığı parabol şeklinde olan algoritmaları kullanmaktan kaçınmak, mümkünse O(n.log 2 n) zaman karmaşıklığını geçmemeye dikkat etmek gerekir. 7

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ı

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

VERİ YAPILARI VE PROGRAMLAMA (BTP104) VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr. İ. Hakkı CEDİMOĞLU S1 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ı

VERİ YAPILARI VE PROGRAMLAMA

VERİ YAPILARI VE PROGRAMLAMA 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ı

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ı

VERİ YAPILARI VE PROGRAMLAMA

VERİ YAPILARI VE PROGRAMLAMA 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ı

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ı

ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI. Analiz. Cilt 2. Ünite 8-14

ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI. Analiz. Cilt 2. Ünite 8-14 ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI Analiz Cilt 2 Ünite 8-14 T.C. ANADOLU ÜNİVERSİTESİ YAYINLARI NO: 1082 AÇIKÖĞRETİM FAKÜLTESİ YAYINLARI NO: 600

Detaylı

MEKATRONİĞE GİRİŞ (EEP251)

MEKATRONİĞE GİRİŞ (EEP251) MEKATRONİĞE GİRİŞ (EEP251) Yazar: Yrd.Doç.Dr. Durmuş KARAYEL S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

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ı

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ı

ELEKTRİK MAKİNELERİ (MEP 112) (ELP211) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112) (ELP211) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

EIS526-H02-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

EIS526-H02-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR SAKARYA ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine

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ı

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ı

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ı

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ı

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ı

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

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ı

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama

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ı

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

YÖNETİM BİLİŞİM SİSTEMLERİ

YÖNETİM BİLİŞİM SİSTEMLERİ SAKARYA ÜNİVERSİTESİ YÖNETİM BİLİŞİM SİSTEMLERİ Hafta 7 Prof. Dr. Orhan TORKUL Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine uygun olarak

Detaylı

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi

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ı

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ı

İŞLETMELERDE BİLİŞM SİSTEMLERİ (EMBA523) Yazar: Prof.Dr. Orhan TORKUL S1

İŞLETMELERDE BİLİŞM SİSTEMLERİ (EMBA523) Yazar: Prof.Dr. Orhan TORKUL S1 İŞLETMELERDE BİLİŞM SİSTEMLERİ (EMBA523) Yazar: Prof.Dr. Orhan TORKUL S1 SAKARYA ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

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 İ VE PROGRAMLAMA

ALGORİTMA İ VE PROGRAMLAMA ALGORİTMA İ VE PROGRAMLAMA II Öğr.Gör.Erdal GÜVENOĞLU Hafta 2 Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ 2 Neden algoritmayı analiz ederiz? Algoritmanın performansını ölçmek

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ı

T.C. ANADOLU ÜNİVERSİTESİ YAYINI NO: 3275 AÇIKÖĞRETİM FAKÜLTESİ YAYINI NO: 2138 HAVACILIK EMNİYETİ

T.C. ANADOLU ÜNİVERSİTESİ YAYINI NO: 3275 AÇIKÖĞRETİM FAKÜLTESİ YAYINI NO: 2138 HAVACILIK EMNİYETİ T.C. ANADOLU ÜNİVERSİTESİ YAYINI NO: 3275 AÇIKÖĞRETİM FAKÜLTESİ YAYINI NO: 2138 HAVACILIK EMNİYETİ Yazarlar Doç.Dr. Ender GEREDE (Ünite 1, 5, 7, 8) Yrd.Doç.Dr. Uğur TURHAN (Ünite 2) Dr. Eyüp Bayram ŞEKERLİ

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI. Lineer. Cebir. Ünite 6. 7. 8. 9. 10

ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI. Lineer. Cebir. Ünite 6. 7. 8. 9. 10 ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI Lineer Cebir Ünite 6. 7. 8. 9. 10 T.C. ANADOLU ÜNİVERSİTESİ YAYINLARI NO: 1074 AÇIKÖĞRETİM FAKÜLTESİ YAYINLARI

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ı

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ı

İŞLETMELERDE BİLİŞİM SİSTEMLERİ (EMBA523)

İŞLETMELERDE BİLİŞİM SİSTEMLERİ (EMBA523) İŞLETMELERDE BİLİŞİM SİSTEMLERİ (EMBA523) Yazar: Prof.Dr. Orhan TORKUL S1 SAKARYA ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

EIS526 -H01-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

EIS526 -H01-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR SAKARYA ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine

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ı

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ı

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ı

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

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ı

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ı

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ı

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

Matlab da Dizi ve Matrisler. Mustafa Coşar

Matlab da Dizi ve Matrisler. Mustafa Coşar Matlab da Dizi ve Matrisler Mustafa Coşar MATLAB Değişkenleri Matlab da değişkenler; skaler, dizi(vektör), matris veya metin (string) türünde olabilirler. Örnek olarak: a=1; b=-3.2e3; c=22/5; metin= mustafa

Detaylı

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

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ı

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ı

Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU Internet Programming I Hafta III Elbistan Meslek Yüksek Okulu 2016 2017 Güz Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU Dönen Değer? Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine

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ı

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

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ı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1

ELEKTRİK MAKİNELERİ (MEP 112 (ELP211) ) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

ELEKTRİK MAKİNELERİ (MEP 112) (ELP211) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu

ELEKTRİK MAKİNELERİ (MEP 112) (ELP211) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu ELEKTRİK MAKİNELERİ (MEP 112) Yazar: Yrd. Doç. Dr. Mustafa Turan S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

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ı

FIRTINA SERİSİ MATEMATİK SORU BANKASI 5

FIRTINA SERİSİ MATEMATİK SORU BANKASI 5 FIRTINA SERİSİ MATEMATİK SORU BANKASI MOBİLPCTABLET İNDİR Bu yayının basım, yayım ve satış hakları fotokopion.com ve site sahiplerine aittir. Bütün hakları saklıdır. Hangi amaçla olursa olsun, yayınların

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ı

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar EM205 26/9/2014 Programlamaya giriş Algoritmalar Temel kavramlar Algoritmalar Amaçlar Algoritma kavramını öğrenmek, Algoritmaları ifade edebilmek, Temel matematiksel algoritmaları yazabilmek C programlama

Detaylı

BIL222 Veri Yapıları ve Algoritmalar

BIL222 Veri Yapıları ve Algoritmalar BIL222 Veri Yapıları ve Algoritmalar 1. ĠKĠLĠ AĞAÇLAR (BIARY TREES) Bütün düğümlerinin derecesi en fazla iki olan ağaca ikili ağaç denir. Yani bir düğüme en fazla iki tane düğüm bağlanabilir ( çocuk sayısı

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ı

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

YÖNETİM BİLİŞİM SİSTEMLERİ

YÖNETİM BİLİŞİM SİSTEMLERİ SAKARYA ÜNİVERSİTESİ YÖNETİM BİLİŞİM SİSTEMLERİ Hafta 3 Prof. Dr. Orhan TORKUL Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine uygun olarak

Detaylı

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1

ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 ELEKTRONİK TİCARET (OSP254) Yazar: Öğr.Gör. Hakan TUNAHAN S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan

Detaylı

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı B+ Tree Temel bir veritabanı çalışma kodu Hash (Karma) Heap Ağaçlar

Detaylı

İstatistik ve Olasılık

İstatistik ve Olasılık İstatistik ve Olasılık Rastgele Değişkenlerin Dağılımları I Prof. Dr. İrfan KAYMAZ Ders konusu Bu derste; Rastgele değişkenlerin tanımı ve sınıflandırılması Olasılık kütle fonksiyonu Olasılık yoğunluk

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ı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. I. GİRİŞ Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. İnsanların elle yaptığı ve yapmakta olduğu bir çok

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ı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

Veritabanı Yönetim Sistemleri I

Veritabanı Yönetim Sistemleri I Veritabanı Yönetim Sistemleri I (BTP 110) İçerik Sorumlusu: Yrd.Doç.Dr.Cenk ATLIĞ Trakya Üniversitesi Tunca Meslek Yüksekokulu Edirne-2010 TRAKYA ÜNİVERSİTESİ Tunca Meslek Yüksekokulu Müdürlüğü nden Öğrencilerimize

Detaylı

Prof. Dr. Mahmut Koçak.

Prof. Dr. Mahmut Koçak. i Prof. Dr. Mahmut Koçak http://fef.ogu.edu.tr/mkocak/ ii Bu kitabın basım, yayım ve satış hakları Kitabın yazarına aittir. Bütün hakları saklıdır. Kitabın tümü ya da bölümü/bölümleri yazarın yazılı izni

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ı

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ı

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ı

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ı

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ı

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

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ı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Karakter Dizileri Karakter Dizilerini Okumak ve Yazmak Karakter Dizilerinin Uzunluğunu

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

Detaylı

Ünite-3 Bilgisayar Yazılımı. www.cengizcetin.net

Ünite-3 Bilgisayar Yazılımı. www.cengizcetin.net Ünite-3 Bilgisayar Yazılımı Yazılım Kavramı Bilgisayarın belirli bir işi gerçekleştirebilmesi için kullanıcı tarafından her adımda ne yapacağı tarif edilmiş olmalıdır. Yani kullanıcı bilgisayara uygun

Detaylı

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013 How to ASP Language Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı 29 Eki. 1 Kas. 2013 Öğr. Gör. Murat KEÇECĠOĞLU Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine bir

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ Diziler Dizi bir kümedir. Aynı tipteki verilere tek bir isimle erişmek için kullanılır. Bir dizi bildirildikten sonra, dizinin bütün elemanları bellekte peşpeşe saklanır. Bu yüzden dizilere

Detaylı

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. Hafta V

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. Hafta V How to ASP Language Elbistan Meslek Yüksek Okulu 2014 2015 Güz Yarıyılı Hafta V Öğr. Gör. Murat KEÇECĠOĞLU Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine bir değer sunarak

Detaylı

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK Giriş-Tanımlamalar Program Nedir? Tanımlanmış bir problemi bilgisayar ortamında çözen ürüne program denir. Programlama Nedir? Tanımlanmış

Detaylı

EIS526 H10-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

EIS526 H10-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR SAKARYA ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine

Detaylı

EIS526 H13-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR

EIS526 H13-1 GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR GİRİŞİMCİLİK (EIS526) Yazar: Doç.Dr. Serkan BAYRAKTAR SAKARYA ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine

Detaylı

Veri Yapıları Laboratuvarı

Veri Yapıları Laboratuvarı 2013 2014 Veri Yapıları Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Hakan KUTUCU Lab. Sorumlusu: Arş. Gör. Caner ÖZCAN İÇİNDEKİLER Uygulama 1: Diziler ve İşaretçiler, Dinamik Bellek Ayırma... 4 1.1. Amaç

Detaylı

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1 PROGRAM - ALGORİTMA AKIŞ ŞEMASI Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Algoritma bir sorunun

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ı