DATA STRUCTURES & ALGORITHMS IN PYTHON: TREES & GRAPHS EĞİTİMİ

Ağaç ve çizge problemlerini çözün

İkili ağaç ve BST, dolaşım yöntemleri, AVL, heap, trie, BFS, DFS, Dijkstra ve topolojik sıralama

Python ile ikili ağaç, BST, AVL, heap, trie ve çizge algoritmaları: BFS, DFS, Dijkstra ve topolojik sıralama; gerçek senaryolarla uygulamalı ileri düzey eğitim.

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

Eğitim Hakkında

Ağaç ve çizge veri yapıları ile algoritmaları

Eğitim, doğrusal olmayan veri yapılarını Python'la işler: ikili ağaç ve ikili arama ağacı, inorder, preorder, postorder ve level-order dolaşımları, ağaç yüksekliği, AVL dengeleme, heap ve heapq, trie, çizge gösterimleri (komşuluk listesi ve matrisi), BFS ve en kısa yol, DFS ve bağlantılı bileşenler, Dijkstra, topolojik sıralama ve döngü tespiti.

Süre ve Format

4 Gün. Her gün dört modül; 1. gün İkili Ağaçlar ve BST; 2. gün Heap, Trie ve Dengeli Ağaçlar; 3. gün Çizge Temelleri ve Dolaşım; 4. gün Yol Bulma ve Uygulamalar. Her modül uygulamalı alıştırmalarla pekiştirilir.

Seviye

İleri Seviye — İkili ağaçlar, BST, heap, trie ve çizge algoritmalarını (BFS, DFS, Dijkstra) Python'da uygular.

Öğrenme Metodu

Her yapı çizim ve adım adım izleme ile anlatılır, ardından Python'da kodlanır; harita rotası ve bağımlılık çözümü gibi gerçek senaryolar çözülür.

Neden Bu Eğitim?

🎯İleri problem çözme

Ağaç ve çizge algoritmalarıyla rota, bağımlılık ve hiyerarşi problemlerini çözersiniz.

🛠️Özyineleme hâkimiyeti

Ağaç dolaşımları üzerinden özyineleme ve yığın kullanımını pekiştirirsiniz.

📈Gerçek uygulamalar

Sosyal ağ, rota ve görev bağımlılığı gibi gerçek örnekleri modellersiniz.

Anahtar Konular

ağaç veri yapılarıçizge algoritmalarıbst pythonbfs dfsdijkstratrieheaptopolojik sıralamapython algoritmagraph python
“Ağaç ve çizge, dünyayı modellemenin dilidir.”

Ön Koşullar

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

1
Temel Python

Değişken, fonksiyon, liste ve sözlük kullanımına dair başlangıç düzeyinde Python bilgisi beklenir.

2
Geliştirme ortamı

Python 3.10+ ve VS Code ya da Jupyter Notebook kurulu bir bilgisayar gereklidir.

3
Komut satırı

pip ile paket kurma ve sanal ortam (venv) oluşturma konusunda temel rahatlık faydalıdır.

4
Ağ bağlantısı

Örnek veri setleri ve paket kurulumları için internet erişimi olan bir ortam önerilir.

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ç ve BST uygular, dolaşım yöntemlerini yazar.
Modül 1
Ağaç Yapıları
  • İkili ağaç ve ikili arama ağacı (BST): ekleme, arama, silme
  • Inorder, preorder, postorder ve level-order dolaşımları
  • Ağaç yüksekliği ve dengeli ağaç (AVL, kırmızı-siyah) kavramı
  • Heap (yığın) ağacı ve heapq ile en küçük K eleman
  • Trie ile ön ek araması
  • Ağaç problemlerini özyineleme ve yığın ile çözme
Modül 2
Arama ve Algoritma Analizi
  • Doğrusal arama ve ikili arama (binary search) uygulaması
  • bisect modülü ile sıralı listede ekleme ve arama
  • En iyi, ortalama ve en kötü durum analizi
  • Özyineleme (recursion), temel durum ve çağrı yığını
  • Dinamik programlamaya giriş: memoization (functools.lru_cache)
  • İki işaretçi (two pointers) ve kayan pencere teknikleri
Modül 3
Atama, Referans ve Kimlik
  • Python'da değişkenin nesneye etiket olması (name binding)
  • id(), is ve == farkı
  • Mutable ve immutable nesnelerde atamanın sonuçları
  • Fonksiyon argümanlarının referansla geçmesi ve yan etkiler
  • Varsayılan argüman tuzağı: def f(x, lst=[])
  • Küçük tamsayı ve string interning davranışı
Modül 4
İç İçe Döngüler
  • İç içe for yapısında toplam iterasyon sayısı ve O(n²) maliyeti
  • Matris (liste içinde liste) satır-sütun dolaşımı
  • Çarpım tablosu, Pascal üçgeni ve desen çizimi
  • Kartezyen çarpım ve itertools.product ile sadeleştirme
  • break ile iç döngüden çıkma ve bayrak (flag) değişkeniyle dıştan çıkma
  • İç içe döngülerde performans sorunlarını tespit etme
Günün hedefiKatılımcı heap, trie ve dengeli ağaç kavramlarını uygular.
Modül 1
Veri Yapılarını Sıfırdan Yazma
  • Node sınıfı ile tekli bağlı liste: ekleme, silme, arama
  • Çift yönlü bağlı liste ve dairesel yapı
  • Stack ve Queue sınıflarını __len__, __iter__ ile tamamlama
  • Hash tablo uygulaması: hash fonksiyonu ve zincirleme çakışma çözümü
  • Öncelik kuyruğu: heapq ve ikili yığın (binary heap) uygulaması
  • Birim testlerle veri yapısı doğrulama
Modül 2
Hash Mantığı ve Performans
  • hash() fonksiyonu ve __hash__/__eq__ sözleşmesi
  • Set ve dict üyelik testinin ortalama O(1) olması
  • Liste ile set üyelik testi süre karşılaştırması (timeit)
  • Hash çakışması ve dict açık adresleme mantığına genel bakış
  • Kendi sınıfımızı set içinde kullanmak: __eq__ ve __hash__ yazımı
  • İki büyük dosyanın satırlarını set farkıyla karşılaştırma
Modül 3
Sıralama Algoritmaları
  • Bubble, selection ve insertion sort: mantık ve O(n²) maliyeti
  • Merge sort: böl-fethet ve O(n log n) analizi
  • Quick sort: pivot seçimi, bölme ve en kötü durum
  • Python Timsort ve sorted() / sort() kararlılığı
  • Counting ve radix sort gibi karşılaştırmasız sıralamalar
  • Algoritmaları timeit ile ölçüp grafiğe dökme
Modül 4
Sözlük İleri Teknikleri
  • setdefault ve collections.defaultdict ile gruplama kalıpları
  • collections.Counter ile frekans ve most_common()
  • Dict comprehension ve iki listeden sözlük (dict(zip()))
  • Python 3.9+ sözlük birleştirme operatörleri ile config katmanlama
  • İç içe sözlükler ve JSON ile birebir eşleşme
  • OrderedDict, ChainMap ve MappingProxyType ile özel durumlar
Günün hedefiKatılımcı çizge temsili kurar, BFS ve DFS ile dolaşım yapar.
Modül 1
Çizgeler ve Dolaşım
  • Çizge gösterimi: komşuluk listesi ve komşuluk matrisi
  • Genişlik öncelikli arama (BFS) ve en kısa yol (ağırlıksız)
  • Derinlik öncelikli arama (DFS) ve bağlantılı bileşenler
  • Dijkstra algoritması ve heapq ile öncelik kuyruğu
  • Topolojik sıralama ve döngü tespiti
  • Gerçek örnek: harita rotası, bağımlılık çözümleme, sosyal ağ analizi
Modül 2
Temel Veri Yapıları
  • Python yerleşik yapıları: list, dict, set ve karmaşıklıkları
  • Yığın (stack) ve LIFO; liste ile yığın uygulaması
  • Kuyruk (queue) ve FIFO; collections.deque kullanımı
  • Bağlı liste (linked list) kavramı ve düğüm yapısı
  • Big-O notasyonu: O(1), O(log n), O(n), O(n log n), O(n²)
  • Dizi ve bağlı liste karşılaştırması: erişim, ekleme, bellek
Modül 3
Veri İşleme ile while
  • Dosyayı satır satır while ile okuma ve boş satırda durma
  • Listeyi pop() ile tüketen kuyruk işleme döngüsü
  • İkili arama (binary search) için while low <= high döngüsü
  • Yeniden deneme (retry) mantığı ve üstel bekleme (exponential backoff)
  • Liste/sözlük üzerinde dolaşırken değiştirme tuzakları
  • Walrus operatörü (:=) ile while (line := f.readline()) kalıbı
Modül 4
Liste ve Tuple Performansı
  • sys.getsizeof ile liste ve tuple bellek karşılaştırması
  • timeit ile append, insert(0) ve deque işlemlerinin süresi
  • collections.deque ile baştan/sondan O(1) ekleme-çıkarma
  • array modülü ve numpy dizisi ile homojen veri tutma
  • Liste içinde arama maliyeti O(n) ve bisect ile sıralı arama
  • Yaygın tuzaklar: [[0]*3]*3 çoğaltma hatası ve liste üzerinde dolaşırken silme
Günün hedefiKatılımcı Dijkstra ve topolojik sıralama ile gerçek problemleri çözer.
Modül 1
Yol Bulma ve Çizge Uygulamaları
  • Bellman-Ford ile negatif kenarlı en kısa yol
  • A* algoritması ve sezgisel (heuristik) fonksiyon
  • Floyd-Warshall ile tüm çiftler arası en kısa yol
  • Minimum kapsayan ağaç: Kruskal ve Prim
  • Union-Find (ayrık kümeler) yol sıkıştırma ile
  • networkx ile çizgeyi görselleştirme ve sonuçları doğrulama
Modül 2
Profilleme ve Ölçüm
  • timeit, cProfile ve pstats ile sıcak nokta bulma
  • line_profiler ve snakeviz ile satır düzeyinde analiz
  • tracemalloc ve memory_profiler ile bellek izleme
  • Mikro benchmark tuzakları ve pytest-benchmark
  • py-spy ile çalışan süreci örnekleme
  • Erken optimizasyondan kaçınma ve ölçüm-odaklı yöntem
Modül 3
pytest Temelleri
  • Test keşfi, assert yeniden yazımı ve çıktıyı okuma
  • Fixture'lar, scope (function/module/session) ve conftest.py
  • parametrize ile veri güdümlü testler
  • pytest.raises ile istisna beklentisi
  • Marker'lar: skip, xfail, özel işaretler
  • tmp_path, monkeypatch ve capsys yerleşik fixture'ları
Modül 4
Tip Güvenliği ve Kod Kalitesi
  • Tip ipuçları (typing), Protocol, Generic ve TypedDict
  • mypy / pyright ile statik tip denetimi
  • dataclasses ve Pydantic modelleri
  • Docstring standartları ve Sphinx / MkDocs ile dokümantasyon
  • Tasarım kalıpları: Factory, Strategy, Adapter, Repository
  • Kod inceleme (code review) ve teknik borç yönetimi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Ağaç Yapıları

BST ve heap yapılarında ekleme, arama ve dolaşım problemlerini çözebilirsiniz

🔧
Referans Anlayışı

Atama, kimlik ve değişebilirlik kavramlarını ayırt ederek kaynaklı hataları önleyebilirsiniz

📊
Yapıları Yazma

Bağlı liste, hash tablo ve heap yapılarını sıfırdan uygulayıp test edebilirsiniz

🧩
Sıralama Algoritmaları

Temel ve ileri sıralama algoritmalarını uygulayıp ölçerek kıyaslayabilirsiniz

🚀
Temel Yapılar

Stack, queue ve bağlı liste mantığını Big-O ile değerlendirebilirsiniz

🔍
Yapı Performansı

Liste, tuple ve deque seçimini bellek ve süre ölçümleriyle gerekçelendirebilirsiniz

🛡️
Profilleme

cProfile ve tracemalloc ile darboğazları ölçüp önceliklendirebilirsiniz

📌
Tip ve Kalite

Tip ipuçları, mypy ve tasarım kalıplarıyla kurumsal kalitede kod yazabilirsiniz

Kimler İçin Uygundur?

  • Veri yapıları temelini bilen
  • ağaç ve çizge problemlerini çözmek isteyen geliştiriciler
  • öğrenciler
  • mülakat adayları

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Veri yapıları temelini bilen, ağaç ve çizge problemlerini çözmek isteyen geliştiriciler, öğrenciler ve mülakat adayları.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası almaya hak kazanır; sertifika DVA'nın kendi katılım ve başarı belgesidir.
Eğitim için hangi yazılımlar gereklidir?
Python 3.10 veya üzeri, bir kod editörü (VS Code ya da PyCharm) ve eğitimin konusuna göre listelenen paketler yeterlidir; kurulum adımları ilk oturumda birlikte kontrol edilir.
networkx kütüphanesi kullanılıyor mu?
Algoritmalar önce sıfırdan yazılır, ardından networkx ile karşılaştırma ve görselleştirme yapılır.
Dijkstra için hangi veri yapısı kullanılır?
heapq tabanlı öncelik kuyruğu kullanılır; negatif kenarlar ve Bellman-Ford sınırlaması kısaca anlatılır.

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. Data Structures & Algorithms in Python: Trees & Graphs Eğiti Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

PythonPrinciples of IoT & Python Basics Eğitimi
Yazılım Geliştirme Eğitimleri

Principles of IoT & Python Basics Eğitimi

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

IoT ilkeleri ve Python temelleri eğitimi: sensörler, Raspberry Pi, GPIO, MQTT, REST, Node-RED, Grafana ve IoT güvenliği ile uygulamalı giriş.

Detayları Gör →
PythonProcessing Data: Integrating Kafka with Python & Using Consumer Groups Eğitimi
Yazılım Geliştirme Eğitimleri

Processing Data: Integrating Kafka with Python & Using Consumer Groups Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

Python ile Kafka entegrasyonu ve tüketici grupları eğitimi: confluent-kafka, producer garantileri, rebalance, offset, DLQ, Avro ve akış işleme.

Detayları Gör →
PythonPython & Matplotlib: Creating Box Plots, Scatter Plots, Heatmaps, & Pie Charts Eğitimi
Yazılım Geliştirme Eğitimleri

Python & Matplotlib: Creating Box Plots, Scatter Plots, Heatmaps, & Pie Charts Eğitimi

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

Matplotlib ile box plot, scatter plot, heatmap ve pie chart eğitimi: dağılım okuma, renk haritaları, annotate, alt grafikler ve yayın kalitesinde çıktı.

Detayları Gör →
PythonPython - Advanced Operations with NumPy Arrays Eğitimi
Yazılım Geliştirme Eğitimleri

Python - Advanced Operations with NumPy Arrays Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

NumPy ileri işlemler eğitimi: broadcasting, fancy indexing, ufunc, einsum, numpy.linalg, structured array, stride ve vektörel performans.

Detayları Gör →
PythonPython - Advanced Python (ADVP) Eğitimi
Yazılım Geliştirme Eğitimleri

Python - Advanced Python (ADVP) Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

İleri Python (ADVP) eğitimi: dekoratör, jeneratör, bağlam yöneticisi, ileri OOP, threading, asyncio, pytest ve paketleme ile profesyonel Python.

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