Teori
Öğrenme hedefleri
Bu haftanın sonunda:
- 1 Doğrusal ve ikili aramayı yazar; adım sayılarını karşılaştırır.
- 2 Seçmeli sıralamayı elle izler ve Java'da yazar.
- 3 Sığ ve derin kopyalama farkını bellek çizimiyle açıklar.
- 4 Dizi alan ve dizi döndüren metot yazar; değişikliğin çağırana yansıdığını fark eder.
Haftanın Bulmacası
Kart destesi: 16 kapalı kart, birini arıyorsunuz. Karışık desteyi en kötü kaç bakışta bulursunuz? Sıralı desteyi? (16 ve 4.) 6. haftanın sayı tahmin oyunu geri döndü; adı ikili arama.
Ders Notları
İşlenecek başlıklar:
- Doğrusal arama: baştan sona; bulununca dur
- İkili arama: sıralı dizide ortadan böl; adım sayısı log2(n)
- Seçmeli sıralama (selection sort): en küçüğü bul, başa al
- Dizi kopyalama: = ile sığ, döngüyle derin, System.arraycopy, Arrays.copyOf
- Diziyi metoda gönderme: referans geçer, metot diziyi değiştirebilir
- Metottan dizi döndürme; dizi ters çevirme
- java.util.Arrays: sort, toString, fill, binarySearch
- Harf sayma örneği (11-HarfSay), sayı analizi
- KT3: dizi alıp tek değer döndüren metot + girdi doğrulayan metot
Temel Kavramlar
- Doğrusal arama: Her elemana sırayla bakma; n adım.
- İkili arama: Sıralı dizide aralığı yarıya bölerek arama; log n adım.
- Seçmeli sıralama: Her turda kalanların en küçüğünü öne alma.
- Sığ kopya: İki değişken aynı diziyi gösterir; biri değişince öteki de.
- Derin kopya: Yeni dizi oluşturup elemanları tek tek kopyalama.
Sahadan Örnekler
- Telefon rehberi: alfabetik sıralı olduğu için ikili arama; milyar kayıtta 30 adım.
- Veritabanı indeksleri: sıralı tutulan sütunlar sayesinde arama saniyeler yerine milisaniyeler sürer; SQL’in altında bu haftanın algoritmaları var.
Laboratuvar
Bu haftanın laboratuvarı bir hafta sonra yapılır (A Çarşamba 13.15, B Perşembe 15.15): Lab 11. Tarihler için Ders Hakkında sayfasındaki takvime bakın.
Bu haftanın araçları
- JDK 21
- VS Code
- GitHub Codespaces
- java.util.Arrays
Etiketler:doğrusal aramaikili aramasıralamakopyalamaArraysKT3