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

Graf algoritmalarını Java ile uygulamaya dök

BFS, DFS, Dijkstra, Bellman-Ford, Prim, Kruskal ve topolojik sıralamayı Java'da yazıp gerçek problemlere uygulayın.

Java Graf Algoritmaları eğitimi 2 günlük uygulamalı programda graf temsili, bfs, dfs, graf pratikleri gibi konuları kapsar. Gerçek bir problemi graf olarak modelleyip uygun temsili seçebilirsiniz.

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

Eğitim Hakkında

Graf temsili, gezinme, en kısa yol ve yayılan ağaçlar

Bu eğitim, graf teorisinin temel algoritmalarını Java ile uygulatır. Komşuluk matrisi ve komşuluk listesi temsilleri, yönlü/yönsüz ve ağırlıklı graflar, BFS ve DFS gezinmesi, bağlı bileşenler ve döngü tespiti işlenir. Dijkstra (PriorityQueue ile), Bellman-Ford, Floyd-Warshall en kısa yol algoritmaları, Prim ve Kruskal ile minimum yayılan ağaç (Union-Find ile), Kahn ve DFS tabanlı topolojik sıralama ve A* arama ele alınır; ızgara labirenti ve yol bulma gibi örneklerle pekiştirilir.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar graf temsili ve gezinme konusundan başlayıp yollar, ağaçlar ve sıralama konusuyla tamamlar.

Seviye

İleri Seviye — Java ile graf temsili, BFS/DFS, en kısa yol, minimum yayılan ağaç ve topolojik sıralama algoritmaları.

Öğrenme Metodu

Algoritmalar önce küçük graflarda elle izlenir, ardından Java'da jenerik Graph sınıfı üzerine kurulur ve yol ağı gibi gerçekçi veri setlerinde çalıştırılır.

Neden Bu Eğitim?

🕸️Graf Modelleme

Gerçek problemleri düğüm ve kenar olarak modelleyip doğru algoritmayı seçersiniz.

🗺️Rota Hesabı

Dijkstra ve A* ile en kısa yol çözümlerini kendi kodunuzla kurarsınız.

🔗Bağımlılık Çözümü

Topolojik sıralama ile derleme/görev bağımlılığı problemlerini çözersiniz.

Anahtar Konular

graf algoritmaları javadijkstra javabfs dfs javaminimum spanning treetopolojik sıralamagraph algorithms javakruskal prima star algoritmasıbellman fordjava veri yapıları
“Her ağ bir graftır; yeter ki doğru düğümleri seçin.”

Ö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ı, grafı uygun yapıyla temsil eder ve BFS/DFS ile bağlantı problemlerini çözer.
Modül 1
Graf Temsili
  • Düğüm, kenar, derece ve yol terimleri
  • Komşuluk matrisi ve O(V²) bellek maliyeti
  • Komşuluk listesi: Map<Integer, List<Edge>>
  • Yönlü, yönsüz ve ağırlıklı graf sınıfı tasarımı
  • Seyrek ve yoğun graf için temsil seçimi
  • Dosyadan kenar listesi okuyup graf kurma
Modül 2
BFS
  • Queue ile genişlik öncelikli gezinme
  • Ziyaret edildi dizisi ve ebeveyn takibi
  • Ağırlıksız graf en kısa yol
  • Izgara labirentinde BFS ile çıkış bulma
  • İki parçalı (bipartite) graf kontrolü
  • Çok kaynaklı BFS (multi-source) uygulaması
Modül 3
DFS
  • Özyinelemeli ve Stack ile derinlik öncelikli gezinme
  • Giriş ve çıkış zamanları (discovery/finish)
  • Bağlı bileşenleri sayma
  • Yönsüz grafta döngü tespiti
  • Yönlü grafta döngü tespiti (renklendirme)
  • Ada sayma ve bölge boyama problemleri
Modül 4
Graf Pratikleri
  • Kesim noktası (articulation point) ve köprü kavramı
  • Güçlü bağlı bileşenler: Kosaraju algoritması
  • Tarjan algoritmasına genel bakış
  • Graf klonlama ve derin kopya
  • Kelime merdiveni (word ladder) problemi
  • Sosyal ağda arkadaşlık mesafesi modelleme
Günün hedefiKatılımcı, ağırlıklı graflarda en kısa yol ve minimum yayılan ağaç algoritmalarını doğru uygular.
Modül 1
En Kısa Yol
  • Dijkstra algoritması ve PriorityQueue kullanımı
  • Gevşetme (relaxation) mantığı
  • Negatif kenarlarda Dijkstra'nın başarısızlığı
  • Bellman-Ford ve negatif döngü tespiti
  • Floyd-Warshall ile tüm çiftler arası yol
  • Yolun kendisini ebeveyn dizisiyle yeniden oluşturma
Modül 2
Sezgisel Arama
  • A* algoritması ve f = g + h maliyeti
  • Manhattan ve Öklid sezgisel fonksiyonları
  • Kabul edilebilir (admissible) sezgisel koşulu
  • Izgara tabanlı oyun haritasında yol bulma
  • Çift yönlü arama fikri
  • Dijkstra ile A* düğüm ziyaret sayısı karşılaştırması
Modül 3
Minimum Yayılan Ağaç
  • MST tanımı ve kesme özelliği (cut property)
  • Kruskal algoritması ve kenar sıralama
  • Union-Find: yol sıkıştırma ve rank ile birleştirme
  • Prim algoritması ve PriorityQueue uygulaması
  • Kruskal ve Prim karmaşıklık karşılaştırması
  • Ağ kablolama maliyeti problemi uygulaması
Modül 4
Topolojik Sıralama
  • DAG tanımı ve bağımlılık modelleme
  • Kahn algoritması ve giriş derecesi
  • DFS tabanlı topolojik sıralama
  • Ders programı (course schedule) problemi
  • Derleme sırası ve Maven modül bağımlılığı örneği
  • En uzun yol ve kritik yol hesabı (DAG)

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Graf Modelleme

Gerçek bir problemi graf olarak modelleyip uygun temsili seçebilirsiniz.

🧠
BFS ve DFS

Genişlik ve derinlik öncelikli gezinmeyi yinelemeli ve özyinelemeli yazabilirsiniz.

⚙️
Döngü Tespiti

Yönlü ve yönsüz graflarda döngü bulma algoritmalarını uygulayabilirsiniz.

🔍
Dijkstra Uygulaması

PriorityQueue ile Dijkstra algoritmasını doğru karmaşıklıkta kodlayabilirsiniz.

🛠️
Negatif Kenarlar

Bellman-Ford ile negatif ağırlıklı graflarda yol hesaplayabilirsiniz.

📈
MST Kurma

Prim ve Kruskal ile minimum yayılan ağaç oluşturabilirsiniz.

🧩
Union-Find

Yol sıkıştırmalı ayrık küme veri yapısını gerçekleyebilirsiniz.

🚀
Bağımlılık Sıralama

Topolojik sıralama ile görev bağımlılıklarını çözebilirsiniz.

Kimler İçin Uygundur?

  • Java'da koleksiyon ve temel veri yapılarını bilen geliştiriciler
  • oyun/rota/ağ problemlerinde graf kullanmak isteyen mühendisler
  • algoritma mülakatına hazırlananlar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java'da koleksiyon ve temel veri yapılarını bilen geliştiriciler, oyun/rota/ağ problemlerinde graf kullanmak isteyen mühendisler ve algoritma mülakatına hazırlananlar için uygundur.
Dijkstra ile Bellman-Ford ne zaman seçilir?
Eğitimde negatif kenar içeren örneklerle Dijkstra'nın neden hatalı sonuç verdiği gösterilir; negatif ağırlık varsa Bellman-Ford, yoksa PriorityQueue destekli Dijkstra tercih edilir.
Graf temsili seçimi nasıl ele alınır?
Komşuluk matrisi ve listesi aynı problemde uygulanır; bellek ve kenar sorgulama maliyetleri ölçülerek seyrek ve yoğun graflar için seçim kriterleri çıkarı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 JVMJava OOP: Interfaces & Anonymous Classes Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: Interfaces & Anonymous Classes Eğitimi

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

Java OOP: Interfaces & Anonymous Classes eğitimi: arayüz tabanlı tasarım ve anonim sınıflar. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Java ve JVMJava OOP: Multi-level Inheritance Eğitimi
Yazılım Geliştirme Eğitimleri

Java OOP: Multi-level Inheritance Eğitimi

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

Java OOP: Multi-level Inheritance eğitimi: çok seviyeli kalıtım ve nesne başlatma sırası. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Ser

Detayları Gör →
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 →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn