• Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan algoritma ve programlama konulu eğitim serisinin bir parçasıdır.
    • Video, arama algoritmaları ile başlayıp sıralama algoritmalarına geçiş yapmaktadır. İlk olarak doğrusal arama ve ikili arama algoritmaları Java dilinde kodlanarak açıklanmakta, ardından kabarcık sıralama ve eklemeli sıralama algoritmaları detaylı şekilde anlatılmaktadır. Son bölümde ise açgözlü algoritmalar konusu ele alınmakta ve bozuk para üst olarak minimum sayıda para kullanma problemi üzerinden uygulamalı örnekler sunulmaktadır.
    • Eğitmen, her algoritmanın çalışma prensiplerini, avantaj ve dezavantajlarını, karmaşıklık değerlerini ve optimizasyon yöntemlerini örneklerle açıklamaktadır. Video, bir sonraki derste sonlandırma problemi (halting problemi) konusunun işleneceği bilgisiyle sonlanmaktadır.
    00:01Algoritmalar ve Veri Yapıları
    • Aylık yapılar video serisinin bu bölümünde arama algoritmaları incelenecek.
    • Arama ve sıralama algoritmaları genellikle algoritma ve programlama derslerinde işlenir, ancak veri yapıları dersinde detaylı olarak incelenir.
    • Bu derste arama algoritmalarının tamamına girilmeyecek, daha detaylı bilgi için veri yapıları dersindeki videoların linki açıklama bölümüne bırakılacak.
    01:08Doğrusal Arama Algoritması
    • Doğrusal arama (sequential search) algoritması, sıralı bir dizide aranan elemanı bulmak için her elemanı sırayla kontrol eden bir yöntemdir.
    • Arama sonucunda aranan nesnenin kendisi değil, bulunduğu indisi return etmek idealdir, özellikle kompleks nesnelerde (örneğin TC kimlik numarasıyla arama yaparken) bu daha mantıklıdır.
    • Dizi gibi statik veri yapılarında bulunamadığında -1 return edilirken, liste gibi dinamik veri yapılarında bulunamadığında null return edilmelidir.
    03:38Doğrusal Arama Uygulaması
    • Doğrusal arama algoritması için public, integer return türünde, "sequential search" (SS) adında bir metod oluşturulur.
    • Metod, arama yapılacak dizi (d) ve aranan değer (s) parametrelerini alır.
    • Döngü içinde aranan değer dizinin her elemanıyla karşılaştırılır, bulunursa indis değeri return edilir, bulunamazsa varsayılan değer olan -1 return edilir.
    05:19İkili Arama Algoritması
    • İkili arama (binary search) algoritması, arama uzayını yarılayarak arama yapan bir yöntemdir.
    • Bu algoritma, sayı tahmini oyununda olduğu gibi, arama uzayının ortasını tahmin ederek arama yapar ve her tahminle arama uzayını yarıya indirir.
    • İkili arama algoritması, dizinin sıralı olması şartıyla maksimum 2^k adımda (k, dizinin eleman sayısının 2'nin kuvveti kadar) arama sonucunu bulabilir.
    07:42Doğrusal ve İkili Arama Karşılaştırması
    • Doğrusal aramada dizinin sırası önemli değildir, aynı algoritma ile her türlü dizide arama yapılabilir.
    • İkili arama algoritmasının büyük avantajı, dizinin sıralı olması şartıyla çok daha hızlı arama yapabilmesidir.
    • Dizinin sıralı olmaması durumunda ikili arama algoritması etkisiz kalır.
    08:13İkili Arama Algoritması
    • İkili arama algoritması, bir dizi ve arama ifadesi alarak çalışır ve integer bir değer döndürür.
    • Algoritma, dizinin sol ve sağ sınırlarını belirleyerek (left ve right) ve ortadaki elemanı (m) hesaplayarak çalışır.
    • Eğer ortadaki eleman aranan değere eşitse, o indisi döndürür; eşit değilse, aranan değer ortadaki elemandan küçükse left'i, büyükse right'i kaydırarak arama işlemi devam eder.
    11:35Algoritmaların Özellikleri
    • Optimal algoritmalar bazı avantajlar sağlarken, bazı durumlarda ön şartlara (örneğin dizinin sıralı olması) ihtiyaç duyar.
    • Algoritmaların doğruluk ve kesinlik özellikleri vardır; girdi değerlerine göre sonlu adımlarla bir çıktı değeri üretmelidir.
    • İkili arama algoritması, sıralı bir dizide çalışır ve sırasız dizide avantaj sağlamaz.
    13:27Sıralama Algoritmaları
    • Sıralama algoritmaları arasında kabarcık sıralama (bubble sort) ve eklemeli sıralama (insertion sort) bulunmaktadır.
    • Kabarcık sıralamada, ardışık elemanlar karşılaştırılır ve sıralama yönüne uygun değilse yer değiştirilir; bu işlem dizinin başından sonuna kadar tekrarlanır.
    • Kabarcık sıralama algoritmasının karmaşıklığı O(n²) olup, dizi sıralanmış olacak şekilde en az n kez tekrarlanmalıdır.
    17:13Eklemeli Sıralama
    • Eklemeli sıralamada, mevcut indisteki eleman geçici bir değişkene (temp) atılır ve bir önceki elemanla karşılaştırılır.
    • Eğer temp, bir önceki elemandan küçükse, temp değeri bir sonraki elemana yerleştirilir.
    • Eklemeli sıralama algoritması, dizinin belirli bir kısmını sıraladıktan sonra, kalan kısmını sıralamak için aynı mantığı kullanır.
    18:54Eklemeli Sıralama Algoritması
    • Eklemeli sıralama algoritmasında, temp değişkeni bir olarak atanır ve bir önceki değerle kıyaslanır.
    • İç döngüde, j değeri bir önceki değerden büyükse temp'e yazılır ve j bir düşürülür.
    • Dış döngü, iç döngüyü bir düşürerek devam eder ve j'nin bir öncesi yoksa veya temp'ten büyükse, o değer temp'e eklenir.
    21:18Açgözlü Algoritmalar
    • Açgözlü algoritmalar (İngilizcesi greedy algoritmalar), her seferinde çözüm adaylarından en iyisini seçerek devam eder.
    • Açgözlü algoritmaların en iyi sonucu bulduğunda teyit edilmesi gerekir.
    • Minimizasyon ve maksimizasyon, birbirinin tersidir; minimizasyon problemi maksimizasyon problemi olarak bir bölü şeklinde alınabilir.
    23:41Bozuk Para Üstü Örneği
    • Açgözlü algoritma örneğinde, 100 liralık para ile 3 liralık bir alışveriş yapıldığında, en az sayıda bozuk para ile para üstü alınır.
    • Algoritma, en büyük banknottan başlayarak (50 TL) geri kalan miktarı en büyük banknotla doldurur.
    • Farklı kombinasyonlarla (5 TL'den 17 adet, 1 TL'den 2 adet veya 10 TL'lik banknotlardan 9 tane, 5 TL'lik banknotlardan 1 tane, 1 TL'lik banknotlardan 2 adet) aynı sonuç elde edilebilir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor