ADVANCED DATA STRUCTURES & ALGORITHMS IN JAVA: SOLVING BINARY TREE PROBLEMS EĞİTİMİ

İkili ağaç problemlerini Java ile ustalıkla çözün

Inorder/preorder/postorder, BST, AVL rotasyonları, heap, LCA, serialize ve mülakat tarzı ağaç problemleri.

İkili ağaç geçişleri, BST, AVL, heap, LCA ve serialize gibi problemleri Java ile çözen 2 günlük veri yapıları eğitimi.

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

Eğitim Hakkında

Java ile ikili ağaç veri yapıları ve problem çözümü

Eğitim ağaç terimlerini, özyinelemeli ve yinelemeli geçişleri (inorder, preorder, postorder, level-order, Morris), BST ekleme/silme/arama ve doğrulamayı, AVL rotasyonlarını, ikili yığın ve PriorityQueue'yu, trie ve segment ağacını tanıtır; LCA, ağaç çapı, yol toplamı, serialize/deserialize, sağ görünüm ve diğer mülakat problemlerini Java ile çözer.

Süre ve Format

2 Gün. Her gün dört modül; Ağaç Temelleri ve BST; Problem Çözümü ve Kalite ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — ikili ağaç geçişleri, BST, AVL, heap, trie ve ağaç problemlerini Java ile çözme

Öğrenme Metodu

Her problem önce ağaç çizimi üzerinde düşünülür, sonra kodlanır, test edilir ve karmaşıklığı tartışılır.

Neden Bu Eğitim?

🌳Ağaç sezgisi

Özyinelemeli düşünmeyi ağaç problemlerine uygulamayı öğrenirsiniz.

⚖️Dengeli yapılar

AVL ve heap mantığıyla verimli veri yapıları kurarsınız.

🎯Mülakat hazırlığı

LCA, çap ve serialize gibi klasikleri hızlı çözersiniz.

Anahtar Konular

ikili ağaçbinary tree JavaBSTAVL ağacıheaptrieLCAağaç algoritmalarıveri yapılarıalgoritma mülakatı
“Ağaçları anlayan, özyinelemeyi anlamış demektir.”

Ön Koşullar

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

1
Java

Sınıf, özyineleme ve koleksiyon bilgisi.

2
Veri yapıları

Stack, queue ve linked list temelleri.

3
Büyük O

Temel zaman karmaşıklığı.

4
Ortam

JDK 17 ve bir IDE.

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ı ağaç geçişlerini, BST işlemlerini ve AVL rotasyonlarını kodlar, heap yapısını kullanır.
Modül 1
İkili Ağaç Temelleri
  • Ağaç terimleri: kök, yaprak, derinlik, yükseklik, düzey
  • TreeNode sınıfı ve özyinelemeli yapı
  • Inorder, preorder, postorder geçişi (özyinelemeli)
  • Yığın ile yinelemeli geçiş ve Morris geçişi
  • Düzey sırası (BFS) geçişi ve zigzag varyantı
  • Ağaç yüksekliği, düğüm sayısı ve eşitlik kontrolleri
Modül 2
İkili Arama Ağacı (BST)
  • BST özelliği; arama, ekleme ve silme (üç durum)
  • Inorder geçişin sıralı çıktısı ve BST doğrulama
  • Minimum/maksimum, ardıl (successor) ve selef bulma
  • k'inci en küçük eleman ve BST iteratörü
  • Sıralı diziden dengeli BST oluşturma
  • Dengesiz BST'nin en kötü durum karmaşıklığı
Modül 3
Dengeli Ağaçlar ve Yığınlar
  • AVL ağacı: denge faktörü ve LL, RR, LR, RL rotasyonları
  • Kırmızı-siyah ağaçlara ve TreeMap iç yapısına bakış
  • İkili yığın (heap): ekleme, silme, heapify
  • PriorityQueue ve heap sort
  • Trie ve segment ağacı tanıtımı
  • Kullanım alanları: indeksler, zamanlayıcılar, otomatik tamamlama
Modül 4
Ağaç Problemleri Çözüm Atölyesi
  • En düşük ortak ata (LCA) ve yol toplamı problemleri
  • Ağaç çapı, dengeli ağaç kontrolü, simetri
  • Preorder + inorder'dan ağaç oluşturma
  • Serileştirme/ters serileştirme (serialize/deserialize)
  • Sağ görünüm, dikey sıralama ve düzey ortalamaları
  • Karmaşıklık analizi, kenar durumlar ve test yazımı
Günün hedefiKatılımcı ağaç problemlerini çözer, kenar durumlarını test eder ve çözümlerini temiz kod ilkeleriyle iyileştirir.
Modül 1
Koleksiyonlar ve Generics
  • List, Set, Map, Queue arayüzleri ve Collections Framework
  • ArrayList / LinkedList / HashMap / TreeMap / LinkedHashMap seçimi
  • Generics: sınıf, metot, sınırlı tipler ve joker karakter
  • Comparable ve Comparator ile sıralama
  • Iterator, ConcurrentModificationException ve değişmez koleksiyonlar (List.of)
  • hashCode/equals'ın HashMap davranışına etkisi
Modül 2
Lambda ve Stream API
  • Fonksiyonel arayüzler ve lambda söz dizimi
  • Method reference türleri
  • Stream oluşturma ve ara/uç işlemler
  • Collectors: toList, toMap, groupingBy, joining
  • Optional ile null güvenliği
  • Primitive stream'ler (IntStream) ve paralel stream
Modül 3
Temiz Kod İlkeleri
  • Anlamlı isimlendirme ve niyeti açık eden kod
  • Küçük fonksiyon, tek iş ve parametre sayısı
  • Yorum yerine ifade; ölü kod ve yorum kokuları
  • Kod kokuları (code smells) ve Fowler refactoring katalogu
  • Hata yönetimi: checked/unchecked ve null döndürmeme
  • Biçimlendirme, EditorConfig, Checkstyle ve SonarQube kuralları
Modül 4
Test ve Kıyaslama Araçları
  • JUnit 5: parametrik testler, @Nested, lifecycle ve extension modeli
  • Mockito ile stub/verify, ArgumentCaptor ve spy
  • AssertJ ile akıcı doğrulamalar
  • Testcontainers ile veritabanı entegrasyon testi
  • JMH ile doğru mikro kıyaslama ve JIT ısınması
  • Maven/Gradle ile test profilleri ve JaCoCo kapsam raporu

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Ağaç geçişleri

Inorder, preorder, postorder ve level-order yazabilirsiniz.

🎯
BST işlemleri

Ekleme, silme ve doğrulama yapabilirsiniz.

🧩
AVL

Rotasyonlarla dengeyi koruyabilirsiniz.

🛠️
Heap

PriorityQueue ve heap sort kullanabilirsiniz.

🔍
LCA

En düşük ortak atayı bulabilirsiniz.

🚀
Serialize

Ağacı serileştirip geri oluşturabilirsiniz.

📈
Karmaşıklık

Zaman ve bellek analizini yapabilirsiniz.

🧪
Test

Kenar durumlar için test yazabilirsiniz.

Kimler İçin Uygundur?

  • Veri yapıları bilgisini pekiştirmek isteyen Java geliştiricileri
  • öğrenciler
  • teknik mülakata hazırlananlar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Veri yapıları bilgisini pekiştirmek isteyen Java geliştiricileri, öğrenciler ve teknik mülakata hazırlananlar için uygundur.
Özyineleme bilmem gerekir mi?
Temel düzeyde evet; eğitimde özyineleme de pekiştirilir.
Hangi problemler çözülür?
LCA, çap, yol toplamı, simetri, serialize, sağ görünüm ve dikey sıralama.
Mülakat odaklı mı?
Hem öğrenme hem mülakat hazırlığı içindir.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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 Data Structures & Algorithms in Java: Solving Binar 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 için Tasarım Desenleri (GoF) Eğitimi
Yazılım Geliştirme Eğitimleri

Java için Tasarım Desenleri (GoF) Eğitimi

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

Java için Tasarım Desenleri (GoF) eğitimi: goF desenleri ve SOLID ilkeleri Java ile. 3 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifik

Detayları Gör →
Java ve JVMJava Messaging Service (JMS) Eğitimi
Yazılım Geliştirme Eğitimleri

Java Messaging Service (JMS) Eğitimi

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

Java Messaging Service (JMS) eğitimi: jMS ile kuyruk tabanlı entegrasyon. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava Mikrohizmetler Eğitimi
Yazılım Geliştirme Eğitimleri

Java Mikrohizmetler Eğitimi

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

Java Mikrohizmetler eğitimi: spring Boot ile uygulamalı mikrohizmet geliştirme. 3 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava Native ve Mikrohizmet Geliştirimi için Quarkus Eğitimi
Yazılım Geliştirme Eğitimleri

Java Native ve Mikrohizmet Geliştirimi için Quarkus Eğitimi

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

Java Native ve Mikrohizmet Geliştirimi için Quarkus eğitimi: quarkus ile bulut yerlisi ve native Java. Uygulamalı 3 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava OOP: Access Modifiers for Regulating Access Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: Access Modifiers for Regulating Access Eğitimi

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

Java OOP: Access Modifiers for Regulating Access eğitimi: erişim belirleyicileriyle güvenli sınıf tasarımı. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

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