ADVANCED DATA STRUCTURES & ALGORITHMS IN JAVA: WORKING WITH BINARY TREES EĞİTİMİ

İkili ağaç problemlerini özyinelemeyle çöz

Yükseklik, çap, LCA, serileştirme ve yol toplamı gibi klasik ikili ağaç problemlerini Java'da çözün.

Java İkili Ağaçlar eğitimi 2 günlük uygulamalı programda ağaç yapısı, dfs dolaşmaları, bfs ve seviye i̇şlemleri, temel metrikler gibi konuları kapsar. İkili ağacı düğüm ve dizi temsiliyle oluşturup yönetebilirsiniz.

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

Eğitim Hakkında

İkili ağaç yapısı, dolaşma ve klasik ağaç problemleri

Bu eğitim, sıralı olma şartı bulunmayan genel ikili ağaçlar (Binary Tree) üzerinde çalışmayı öğretir. TreeNode sınıfı, dizi ve düğüm temsili, tam/dolu/mükemmel ağaç sınıflandırması ile DFS ve BFS dolaşmaları işlenir. Yükseklik, çap, simetri, yol toplamı, en düşük ortak ata, ağaç serileştirme/seri çözme, preorder+inorder dizisinden ağaç kurma ve ağaç dönüştürme problemleri Java'da özyinelemeli ve yinelemeli yaklaşımlarla çözülür; her çözümün zaman ve alan karmaşıklığı tartışılır.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar i̇kili ağaç temelleri konusundan başlayıp i̇leri ağaç problemleri konusuyla tamamlar.

Seviye

İleri Seviye — Java ile genel ikili ağaçların özyinelemeli işlenmesi, dolaşma, yapısal sorgular, serileştirme ve ağaç problemleri.

Öğrenme Metodu

Her ağaç problemi önce çizimle izlenir, sonra Java'da yazılır; çözümler JUnit ile test edilip özyinelemeli ve yinelemeli sürümleri ölçülür.

Neden Bu Eğitim?

🌲Özyineleme Pratiği

Ağaç problemlerinde "sol, sağ, birleştir" kalıbını otomatik kurar hale gelirsiniz.

💼Mülakat Soruları

LeetCode tarzı çap, LCA ve serileştirme sorularını sistematik çözersiniz.

📐Karmaşıklık Analizi

Her çözümün O(n) süre ve O(h) yığın belleğini gerekçelendirirsiniz.

Anahtar Konular

binary tree javaikili ağaçtree traversal javalowest common ancestorağaç serileştirmejava veri yapıları ve algoritmalardfs bfs javabinary tree problemlerijava mülakat sorularıözyineleme java
“Ağaç problemleri, özyinelemeyi düşünmenin en saf halidir.”

Ön Koşullar

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

1
Java Temeli

Dizi, döngü, sınıf ve metot yazabilecek düzeyde Java bilgisi beklenir.

2
Temel Matematik

Logaritma, üs ve ardışık toplam gibi kavramlara aşinalık Big-O analizinde yardımcı olur.

3
Özyineleme

Basit özyinelemeli metotları (faktöriyel, Fibonacci) okuyabilmek faydalıdır.

4
Geliştirme Ortamı

JDK 17+, IDE ve JUnit çalıştırabilen bir bilgisayar gerekir.

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ı, ikili ağaç üzerinde DFS ve BFS dolaşmalarını ve temel metrikleri özyinelemeli hesaplar.
Modül 1
Ağaç Yapısı
  • TreeNode<T> sınıfı ve sol/sağ referanslar
  • Tam, dolu, mükemmel ve dengeli ağaç tanımları
  • Dizi temsili: 2i+1 ve 2i+2 indeks kuralı
  • Düğüm sayısı ile yükseklik arasındaki ilişki
  • Elle ağaç kurma ve diziden ağaç oluşturma
  • Ağacı ASCII olarak yazdıran yardımcı metot
Modül 2
DFS Dolaşmaları
  • Preorder, inorder ve postorder özyinelemeli yazım
  • Stack ile yinelemeli preorder ve inorder
  • Postorder için iki yığın ve tek yığın tekniği
  • Dolaşma sonucu List<T> olarak toplama
  • Dolaşma sırasından ağaç şeklini çıkarma
  • Özyineleme derinliği ve StackOverflowError riski
Modül 3
BFS ve Seviye İşlemleri
  • Queue ile seviye sırası dolaşma
  • Seviyeleri ayrı listelerde toplama
  • Zigzag (spiral) seviye dolaşımı
  • Sağdan görünüm ve sol görünüm problemi
  • Seviye ortalaması ve en geniş seviye hesabı
  • Ağacın dikey sütunlara göre dolaşılması
Modül 4
Temel Metrikler
  • Yükseklik ve derinlik hesabı
  • Düğüm ve yaprak sayısını bulma
  • Minimum derinlik problemi
  • Dengeli ağaç kontrolü (yükseklik farkı en fazla 1)
  • Ağaçtaki en büyük ve en küçük değer
  • İki ağacın aynı olup olmadığını kontrol etme
Günün hedefiKatılımcı, klasik ağaç mülakat problemlerini doğru karmaşıklıkla çözer ve ağaçları dizgeye dönüştürebilir.
Modül 1
Yol Problemleri
  • Kökten yaprağa yol toplamı kontrolü
  • Tüm yolları listeleme ve geri izleme (backtracking)
  • Ağaçtaki en büyük yol toplamı
  • Çap (diameter) için tek geçişli çözüm
  • Hedef toplama eşit alt yolları sayma (prefix sum)
  • Yol problemlerinde global değişken ve dönüş değeri farkı
Modül 2
Simetri ve Dönüşümler
  • Ağacın aynasını alma (invert tree)
  • Simetrik ağaç kontrolü
  • Alt ağaç (subtree) eşleşmesi
  • İkili ağacı bağlı listeye düzleştirme
  • Ağaçları birleştirme (merge two trees)
  • Ağaçtan çift/tek seviye filtreleme
Modül 3
Ata ve Ağaç Kurma
  • Genel ikili ağaçta LCA bulma
  • Düğümler arası mesafe hesabı
  • Preorder ve inorder dizisinden ağaç kurma
  • Postorder ve inorder dizisinden ağaç kurma
  • HashMap ile inorder indeks araması optimizasyonu
  • Tam ağaçta düğüm sayma O(log² n) yöntemi
Modül 4
Serileştirme
  • Ağacı preorder dizgeye serileştirme (null işaretleri)
  • Dizgeden ağacı geri kurma
  • BFS tabanlı serileştirme biçimi
  • Jackson ile ağacın JSON temsili
  • Büyük ağaçlarda yinelemeli çözüme geçiş
  • Çözümlerin zaman ve alan karmaşıklığı karşılaştırması

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Ağaç Kurma

İkili ağacı düğüm ve dizi temsiliyle oluşturup yönetebilirsiniz.

🧠
DFS ve BFS

Tüm dolaşma türlerini özyinelemeli ve yinelemeli yazabilirsiniz.

⚙️
Ağaç Metrikleri

Yükseklik, çap ve denge kontrolünü doğru karmaşıklıkla hesaplayabilirsiniz.

🔍
Yol Çözümleri

Yol toplamı ve yol listeleme problemlerini geri izleme ile çözebilirsiniz.

🛠️
LCA Bulma

Genel ikili ağaçta en düşük ortak atayı O(n) sürede bulabilirsiniz.

📈
Ağaç Yeniden Kurma

Dolaşma dizilerinden özgün ağacı yeniden oluşturabilirsiniz.

🧩
Serileştirme

Ağacı dizgeye çevirip aynı yapıda geri çözebilirsiniz.

🚀
Karmaşıklık Savunusu

Çözümlerinizin süre ve yığın bellek maliyetini gerekçelendirebilirsiniz.

Kimler İçin Uygundur?

  • Java'da temel veri yapılarını bilen geliştiriciler
  • kodlama mülakatlarına hazırlananlar
  • özyinelemeli problem çözme becerisini geliştirmek isteyen öğrenciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java'da temel veri yapılarını bilen geliştiriciler, kodlama mülakatlarına hazırlananlar ve özyinelemeli problem çözme becerisini geliştirmek isteyen öğrenciler için uygundur.
İkili ağaç ile ikili arama ağacı farkı nasıl işlenir?
İlk gün genel ikili ağaç yapısı ele alınır; sıralama kuralı olmadığı için tüm problemlerin O(n) dolaşma gerektirdiği, BST'de ise O(h) olduğu örneklerle karşılaştırılır.
Çözümler yalnızca özyinelemeli mi yazılır?
Hayır. Özyinelemeli çözümlerin yanında Stack ve Queue ile yinelemeli sürümler de yazılır ve derin ağaçlarda StackOverflowError riski üzerinden karşılaştırılır.
Eğitim için hangi ön bilgi ve ortam gerekir?
Dizi, döngü, sınıf ve metot yazabilecek düzeyde Java bilgisi beklenir. Logaritma, üs ve ardışık toplam gibi kavramlara aşinalık Big-O analizinde yardımcı olur. Basit özyinelemeli metotları (faktöriyel, Fibonacci) okuyabilmek faydalıdır.
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 Data Structures & Algorithms in Java: Working With Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMTest Driven Development & Java & JUnit Eğitimi
Yazılım Geliştirme Eğitimleri

Test Driven Development & Java & JUnit Eğitimi

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

Java ile test güdümlü geliştirme eğitimi: Red-Green-Refactor, JUnit 5, Mockito, AssertJ, parametreli testler, JaCoCo ve mutation testing uygulamalı işlenir.

Detayları Gör →
Java ve JVMTest-Driven Development Workshop with Java Eğitimi
Yazılım Geliştirme Eğitimleri

Test-Driven Development Workshop with Java Eğitimi

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

Java ile uygulamalı TDD atölyesi: katalar, eşli programlama, outside-in TDD, Mockito, characterization test ve legacy koda güvenli değişiklik ekleme.

Detayları Gör →
Java ve JVMThe Scala Programming Language Eğitimi
Yazılım Geliştirme Eğitimleri

The Scala Programming Language Eğitimi

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

Scala programlama eğitimi: case class, pattern matching, trait, değişmez koleksiyonlar, Option ve Either, Future ve sbt ile fonksiyonel JVM geliştirme.

Detayları Gör →
Java ve JVMThe Spring Web MVC Framework: Building Web Applications & REST APIs Eğitimi
Yazılım Geliştirme Eğitimleri

The Spring Web MVC Framework: Building Web Applications & REST APIs Eğitimi

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

Spring Web MVC eğitimi: DispatcherServlet, Thymeleaf, REST denetleyicileri, Bean Validation, ProblemDetail, Spring Security ve MockMvc testleri uygulamalı işlen

Detayları Gör →
Java ve JVMThe Spring Web MVC Framework: Getting Started Eğitimi
Yazılım Geliştirme Eğitimleri

The Spring Web MVC Framework: Getting Started Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Spring Web MVC başlangıç eğitimi: DispatcherServlet, controller, istek eşleme, Model, Thymeleaf sayfaları ve form işleme ile ilk web uygulaması.

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