ADVANCED FEATURES IN JAVA: LIST ALGORITHMS & IMPLEMENTATIONS EĞİTİMİ

Java listelerinin içini kendi kodunla aç

ArrayList ve LinkedList'i sıfırdan yazın; ters çevirme, birleştirme, döngü tespiti ve sıralama algoritmalarını uygulayın.

Java Liste Algoritmaları ve Uygulamaları eğitimi 2 günlük uygulamalı programda liste adt'si, dinamik dizi, tek bağlı liste, çift bağlı liste gibi konuları kapsar. Kapasite büyütme mantığıyla kendi ArrayList benzeri sınıfınızı yazabilirsiniz.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Dizi ve bağlı liste implementasyonu, liste algoritmaları

Bu eğitim, List soyut veri tipinin Java'da nasıl gerçeklendiğini ve liste üzerinde çalışan algoritmaları işler. Dinamik dizi (ArrayList benzeri) ve tek/çift bağlı liste sıfırdan yazılır; amortize O(1) ekleme, kapasite büyütme stratejileri, sentinel (dummy) düğümler ve iterator uygulaması ele alınır. Bağlı listede ters çevirme, orta düğümü bulma, Floyd döngü tespiti, iki sıralı listeyi birleştirme, merge sort, k. sondan eleman ve palindrom kontrolü gibi klasik algoritmalar ile Java List API'sinin iç davranışı incelenir.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar liste veri yapıları konusundan başlayıp liste algoritmaları konusuyla tamamlar.

Seviye

Orta Seviye — Dizi tabanlı ve bağlı liste uygulamaları, liste algoritmaları ve Java List arayüzünün iç mekanizması.

Öğrenme Metodu

Her veri yapısı önce çizimle anlatılır, Java'da sıfırdan yazılır ve java.util karşılığıyla JUnit ve süre ölçümüyle karşılaştırılır.

Neden Bu Eğitim?

🔬İç Mekanizma

ArrayList ve LinkedList'in perde arkasını kendi kodunuzla öğrenirsiniz.

🔄Klasik Algoritmalar

Ters çevirme, döngü tespiti ve birleştirme gibi mülakat sorularını rahat çözersiniz.

📊Maliyet Bilinci

Amortize analizle liste işlemlerinin gerçek maliyetini yorumlarsınız.

Anahtar Konular

java linked listjava arraylist iç yapısıbağlı liste algoritmalarılinked list reversefloyd cycle detectionjava list algoritmalarıdinamik diziamortize analizjava mülakat sorularımerge sorted lists
“Bir listeyi gerçekten anlamak, onu bir kez sıfırdan yazmaktan geçer.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java Sözdizimi

Değişken, döngü, metot ve sınıf tanımlayabilecek düzeyde temel Java bilgisi beklenir.

2
Nesne Yönelimli Bilgi

Sınıf, kalıtım, arayüz ve polimorfizm kavramlarına aşinalık faydalıdır.

3
Geliştirme Ortamı

JDK 17 veya üzeri ile IntelliJ IDEA ya da Eclipse kurulu bir bilgisayar gerekir.

4
Komut Satırı

javac, java ve Maven/Gradle ile derleme-çalıştırma adımlarını izleyebilmek yararlıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı, dinamik dizi ve bağlı liste yapılarını jenerik olarak yazar ve maliyetlerini yorumlar.
Modül 1
Liste ADT'si
  • List arayüzünün sözleşmesi: add, get, set, remove
  • Sıralı ve indeksli erişim tanımları
  • Dizi ve bağlı yapı arasındaki bellek farkı
  • Önbellek yerelliği ve pratik hız farkı
  • Kendi MyList<T> arayüzünü tanımlama
  • İstisna politikası: IndexOutOfBoundsException
Modül 2
Dinamik Dizi
  • Dahili Object[] ve size/capacity ayrımı
  • Kapasiteyi ikiye katlayarak büyütme
  • Amortize O(1) ekleme analizi
  • Ortaya ekleme ve silmede kaydırma maliyeti
  • trimToSize ve belleği geri verme
  • Iterator ve fail-fast modCount uygulaması
Modül 3
Tek Bağlı Liste
  • Node<T> sınıfı ve head/tail referansları
  • Başa, sona ve araya ekleme
  • Dummy (sentinel) düğümle özel durumları azaltma
  • İndeksle erişim ve silme
  • Değere göre arama ve kaldırma
  • Bellek sızıntısı: silinen düğüm referanslarını temizleme
Modül 4
Çift Bağlı Liste
  • prev ve next bağlantıları
  • Başa ve sona O(1) ekleme-silme
  • Dairesel çift bağlı liste yapısı
  • LinkedList sınıfının Deque olarak kullanımı
  • LRU önbellek için çift bağlı liste + HashMap
  • ArrayList ve LinkedList ölçüm karşılaştırması
Günün hedefiKatılımcı, bağlı liste mülakat algoritmalarını O(n) süre ve O(1) ek bellekle uygular.
Modül 1
İşaretçi Teknikleri
  • İki işaretçi (slow/fast) yöntemi
  • Ortadaki düğümü bulma
  • Sondan k. düğümü tek geçişte bulma
  • Floyd döngü tespiti (tortoise and hare)
  • Döngünün başlangıç düğümünü bulma
  • İki listenin kesişim noktasını bulma
Modül 2
Ters Çevirme ve Düzenleme
  • Listeyi yinelemeli ters çevirme
  • Özyinelemeli ters çevirme ve çağrı yığını
  • Belirli aralığı ters çevirme
  • k'lı gruplar halinde ters çevirme
  • Çift-tek düğümleri yeniden sıralama
  • Palindrom liste kontrolü
Modül 3
Birleştirme ve Sıralama
  • İki sıralı listeyi birleştirme
  • k sıralı listeyi PriorityQueue ile birleştirme
  • Bağlı liste için merge sort
  • Insertion sort ile bağlı liste sıralama
  • Tekrarlayan düğümleri silme
  • Listeyi pivot değerine göre bölme (partition)
Modül 4
Java List API'si
  • subList, replaceAll, removeIf ve sort
  • ArrayList.remove(int) ve remove(Object) karışıklığı
  • Arrays.asList boyutunun sabit olması
  • CopyOnWriteArrayList ve eşzamanlı liste
  • List.copyOf ve değişmezlik
  • JMH ile ekleme/arama süre karşılaştırması

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Dinamik Dizi

Kapasite büyütme mantığıyla kendi ArrayList benzeri sınıfınızı yazabilirsiniz.

🧠
Bağlı Liste

Tek ve çift bağlı listeyi sentinel düğümle hatasız gerçekleyebilirsiniz.

⚙️
Amortize Analiz

Dinamik dizide ekleme maliyetinin neden amortize O(1) olduğunu açıklayabilirsiniz.

🔍
İşaretçi Teknikleri

Slow/fast işaretçi yöntemiyle orta düğüm ve döngü problemlerini çözebilirsiniz.

🛠️
Ters Çevirme

Listeyi yinelemeli ve özyinelemeli yöntemle ters çevirebilirsiniz.

📈
Birleştirme

Sıralı listeleri ve k listeyi verimli biçimde birleştirebilirsiniz.

🧩
API Bilgisi

java.util.List tuzaklarını (asList, subList, remove) önleyebilirsiniz.

🚀
Performans

ArrayList ve LinkedList farklarını ölçümle kanıtlayabilirsiniz.

Kimler İçin Uygundur?

  • Java Collections kullanımını bilen
  • iç mekanizmayı
  • liste algoritmalarını öğrenmek isteyen geliştiriciler ve mülakat hazırlığındaki adaylar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java Collections kullanımını bilen, iç mekanizmayı ve liste algoritmalarını öğrenmek isteyen geliştiriciler ve mülakat hazırlığındaki adaylar için uygundur.
Bu eğitim Collections giriş eğitiminden nasıl ayrılır?
Giriş eğitimi API kullanımına odaklanır; bu eğitim ise liste yapılarını sıfırdan yazarak iç mekanizmayı ve klasik liste algoritmalarını öğretir.
LRU önbellek uygulaması işleniyor mu?
Evet. Çift bağlı liste ile HashMap birleştirilerek O(1) get/put yapan LRU önbellek Java'da yazılır ve LinkedHashMap karşılığıyla kıyaslanır.
Eğitim için hangi ön bilgi ve ortam gerekir?
Değişken, döngü, metot ve sınıf tanımlayabilecek düzeyde temel Java bilgisi beklenir. Sınıf, kalıtım, arayüz ve polimorfizm kavramlarına aşinalık faydalıdır. JDK 17 veya üzeri ile IntelliJ IDEA ya da Eclipse kurulu bir bilgisayar gerekir.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. 2 günlük program boyunca uygulama çalışmalarının tamamlanması beklenir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Advanced Features in Java: List Algorithms & Implementations Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMJava OOP: Run-time & Compile-time Polymorphism Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: Run-time & Compile-time Polymorphism Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java OOP: Run-time & Compile-time Polymorphism eğitimi: derleme zamanı ve çalışma zamanı polimorfizmi. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava OOP: The Role of Constructors in Inheritance Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: The Role of Constructors in Inheritance Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java OOP: The Role of Constructors in Inheritance eğitimi: constructor zinciri ve nesne oluşturma sırası. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava OOP: The Semantics of the final & abstract Keywords Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: The Semantics of the final & abstract Keywords Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java OOP: The Semantics of the final & abstract Keywords eğitimi: final ve abstract ile değişmezlik ve şablon tasarımı. Uygulamalı 2 gün program.

Detayları Gör →
Java ve JVMJava OOP: Understanding Inheritance & Polymorphism in Java Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: Understanding Inheritance & Polymorphism in Java Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Java OOP: Understanding Inheritance & Polymorphism in Java eğitimi: kalıtım ve polimorfizmin birlikte çalışması. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifi

Detayları Gör →
Java ve JVMJava OOP: Understanding Overriding & Hiding in Inheritance Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: Understanding Overriding & Hiding in Inheritance Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java OOP: Understanding Overriding & Hiding in Inheritance eğitimi: override ve hiding kurallarının tam resmi. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifika

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn