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

İkili arama ağacını Java ile baştan kur

BST ekleme, arama, silme ve dolaşma işlemlerini Java'da yazın; AVL ve kırmızı-siyah dengeleme mantığını kavrayın.

Java İkili Arama Ağaçları (BST) eğitimi 2 günlük uygulamalı programda ağaç kavramları, ekleme ve arama, dolaşma teknikleri, test ve görselleştirme gibi konuları kapsar. Comparable tabanlı jenerik bir ikili arama ağacı sınıfını sıfırdan yazabilirsiniz.

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

Eğitim Hakkında

BST işlemleri, dolaşma, silme ve AVL dengeleme

Bu eğitim, ikili arama ağacı (Binary Search Tree) veri yapısını Java ile uçtan uca uygulatır. Düğüm sınıfı tasarımı, özyinelemeli ve yinelemeli ekleme/arama, inorder-preorder-postorder ve seviye sırası dolaşma, üç durumlu silme algoritması (yaprak, tek çocuk, iki çocuk ve inorder ardıl) ele alınır. Dejenere ağaç problemi üzerinden AVL döndürmeleri (LL, RR, LR, RL), kırmızı-siyah ağaç kuralları ve TreeMap/TreeSet iç yapısı incelenir; tüm işlemlerin O(h) karmaşıklığı ölçülür.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar bst temelleri konusundan başlayıp silme ve dengeleme konusuyla tamamlar.

Seviye

İleri Seviye — Java ile ikili arama ağacı (BST) uygulaması, dolaşma teknikleri, silme algoritması ve dengeleme.

Öğrenme Metodu

Katılımcılar BST'yi jenerik bir sınıf olarak sıfırdan yazar, her işlemi JUnit ile test eder ve dejenere ağaçta performans düşüşünü ölçerek dengelemenin gerekçesini görür.

Neden Bu Eğitim?

🌳Ağaç Mantığı

Düğüm referanslarıyla çalışan özyinelemeli düşünmeyi içselleştirirsiniz.

🔧Silme Algoritması

BST'nin en zor işlemi olan iki çocuklu düğüm silmeyi hatasız uygularsınız.

⚖️Dengeleme Bilgisi

AVL döndürmeleriyle O(log n) garantisinin nasıl sağlandığını kodlayarak görürsünüz.

Anahtar Konular

binary search tree javajava bstavl tree javaikili arama ağacıjava veri yapılarıtree traversal javainorder preorder postorderred black treetreemap javajava algoritma eğitimi
“Dengeli bir ağaç, hızlı aramanın sessiz sözleşmesidir.”

Ö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ı, jenerik bir BST sınıfı yazar ve tüm dolaşma türlerini özyinelemeli ve yinelemeli uygular.
Modül 1
Ağaç Kavramları
  • Kök, yaprak, derinlik, yükseklik ve seviye tanımları
  • BST özelliği: sol küçük, sağ büyük kuralı
  • Tam, dolu ve dejenere ağaç ayrımı
  • Dizi ve bağlı düğüm temsilinin karşılaştırması
  • Node<T extends Comparable<T>> sınıf tasarımı
  • Duplicate anahtar politikası seçenekleri
Modül 2
Ekleme ve Arama
  • Özyinelemeli insert ile kök güncelleme deseni
  • Yinelemeli ekleme ve parent referansı
  • search ve contains metotlarının O(h) analizi
  • min ve max düğümü bulma
  • Floor ve ceiling sorguları
  • Boyut (size) ve yükseklik hesabını düğümde tutma
Modül 3
Dolaşma Teknikleri
  • Inorder dolaşımın sıralı çıktı vermesi
  • Preorder ile ağaç kopyalama ve serileştirme
  • Postorder ile ağaç silme ve yükseklik hesabı
  • Seviye sırası (BFS) için Queue kullanımı
  • Stack ile yinelemeli inorder dolaşma
  • Morris traversal ile O(1) ek bellek
Modül 4
Test ve Görselleştirme
  • JUnit 5 ile ekleme/arama testleri
  • Rastgele ve sıralı girişte ağaç şekli farkı
  • Ağacı metin olarak yazdıran toString yardımcısı
  • Iterator<T> uygulayarak for-each desteği
  • Java Stream ile ağaç elemanlarını işleme
  • Yükseklik ve düğüm sayısı metriklerini toplama
Günün hedefiKatılımcı, silme işlemini tüm durumlarıyla uygular ve AVL ağacıyla yüksekliği O(log n) tutar.
Modül 1
Silme Algoritması
  • Yaprak düğümü silme durumu
  • Tek çocuklu düğümü bağlantı atlayarak silme
  • İki çocuklu düğümde inorder ardıl ile değiştirme
  • Inorder öncül alternatifinin karşılaştırması
  • Silme sonrası boyut güncelleme (augmented BST)
  • Hibbard silme ve asimetri sorunu
Modül 2
Ağaç Sorguları
  • k. en küçük eleman bulma (order statistic)
  • Aralık sorgusu: [lo, hi] arasındaki anahtarlar
  • En düşük ortak ata (LCA) bulma
  • BST geçerliliğini sınır değerleriyle doğrulama
  • Sıralı diziden dengeli BST oluşturma
  • İki ağacı birleştirme ve ağaç eşitliği kontrolü
Modül 3
AVL Ağaçları
  • Denge faktörü ve yükseklik tutma
  • Tek döndürme: LL ve RR durumları
  • Çift döndürme: LR ve RL durumları
  • Ekleme ve silme sonrası geriye doğru dengeleme
  • AVL yüksekliğinin 1.44 log n sınırı
  • Dejenere BST ile AVL süre karşılaştırması
Modül 4
Kırmızı-Siyah ve JDK
  • Kırmızı-siyah ağaç beş kuralı
  • Ekleme sonrası renk değiştirme ve döndürme
  • TreeMap ve TreeSet iç yapısı
  • NavigableMap: floorKey, ceilingKey, subMap
  • Comparator ile özel sıralı ağaç kullanımı
  • BST, hash ve sıralı dizi seçim kriterleri

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Jenerik BST

Comparable tabanlı jenerik bir ikili arama ağacı sınıfını sıfırdan yazabilirsiniz.

🧠
Dolaşma Hakimiyeti

Inorder, preorder, postorder ve seviye sırası dolaşmaları uygulayabilirsiniz.

⚙️
Doğru Silme

Üç durumlu düğüm silme algoritmasını hatasız kodlayabilirsiniz.

🔍
Ağaç Sorguları

k. eleman, aralık ve LCA sorgularını BST üzerinde çözebilirsiniz.

🛠️
AVL Uygulama

Döndürmelerle kendini dengeleyen AVL ağacı gerçekleyebilirsiniz.

📈
Karmaşıklık Yorumu

İşlem sürelerini ağaç yüksekliği üzerinden O(h) olarak açıklayabilirsiniz.

🧩
JDK Bilgisi

TreeMap ve TreeSet'in kırmızı-siyah ağaç mantığıyla çalıştığını açıklayabilirsiniz.

🚀
Test Disiplini

Ağaç işlemlerini JUnit ile kenar durumlarda test edebilirsiniz.

Kimler İçin Uygundur?

  • Java ile temel veri yapılarını bilen
  • ağaç yapılarını derinlemesine öğrenmek isteyen geliştiriciler
  • bilgisayar mühendisliği öğrencileri
  • algoritma mülakatına hazırlananlar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ile temel veri yapılarını bilen, ağaç yapılarını derinlemesine öğrenmek isteyen geliştiriciler, bilgisayar mühendisliği öğrencileri ve algoritma mülakatına hazırlananlar için uygundur.
BST silme işlemi eğitimde nasıl öğretilir?
Üç durum (yaprak, tek çocuk, iki çocuk) ayrı ayrı çizilir, ardından inorder ardıl ile değiştirme yöntemi Java'da yazılıp JUnit ile test edilir.
AVL ve kırmızı-siyah ağaç kodlanacak mı?
AVL döndürmeleri ve dengeleme uygulamalı kodlanır; kırmızı-siyah ağaç kuralları ve TreeMap iç yapısı kavramsal ve kod okuma düzeyinde işlenir.
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 JVMJava Certified Foundations Associate: Java Strings Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Java Strings Eğitimi

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

Java Foundations: String Sınıfı eğitimi: String değişmezliği, havuz, equals ve ==, substring, indexOf, replace, split, StringBuilder, String.format ve regex'e g

Detayları Gör →
Java ve JVMJava Certified Foundations Associate: Looping Statements Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Looping Statements Eğitimi

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

Java Foundations: Döngü Yapıları eğitimi: for, while, do-while, for-each, sonsuz döngü, iç içe döngü, break-continue ve etiketler, sayaç ve toplayıcı kalıpları,

Detayları Gör →
Java ve JVMJava Certified Foundations Associate: Math & Random Classes Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Math & Random Classes Eğitimi

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

Java Foundations: Math ve Random Sınıfları eğitimi: Math.abs, pow, sqrt, round, floor, ceil, hypot, trigonometri, Math.random, java.util.Random, seed, nextInt,.

Detayları Gör →
Java ve JVMJava Certified Foundations Associate: Object-oriented Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Object-oriented Programming Eğitimi

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

Java Foundations: Nesne Yönelimli Programlama eğitimi: Kapsülleme, kalıtım, super, polimorfizm, override, soyut sınıf, arayüz, Object sınıfı, equals ve hashCode

Detayları Gör →
Java ve JVMJava Database Connectivity (JDBC): Batch Executions & Transactions with JDBC Eğitimi
Yazılım Geliştirme Eğitimleri

Java Database Connectivity (JDBC): Batch Executions & Transactions with JDBC Eğitimi

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

JDBC Batch İşlemleri ve Transaction Yönetimi eğitimi: addBatch, executeBatch, setAutoCommit, commit, rollback, Savepoint, izolasyon seviyeleri, deadlock, bağlan

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