C++: WORKING WITH ASSOCIATIVE CONTAINERS & ALGORITHMS EĞİTİMİ

İlişkisel konteynerler ve algoritmalarla veriyi yönetin

std::map, set, unordered_map, hash, comparator, node handle, sort, find_if, transform, ranges ve performans ölçümü.

Bu eğitim, C++ ilişkisel konteynerlerini ve STL algoritmalarını derinlemesine işler. map, set, multimap ve unordered_map kaplarının iç yapısı, hash fonksiyonu, özel karşılaştırıcı, try_emplace, insert_or_assign ve node handle kullanımı gösterilir; sort, lower…

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

Eğitim Hakkında

Anahtar-değer kapları ve STL algoritmalarıyla etkili veri işleme

Bu eğitim, C++ ilişkisel konteynerlerini ve STL algoritmalarını derinlemesine işler. map, set, multimap ve unordered_map kaplarının iç yapısı, hash fonksiyonu, özel karşılaştırıcı, try_emplace, insert_or_assign ve node handle kullanımı gösterilir; sort, lower_bound, transform, accumulate, remove-erase ve C++20 ranges lambda ifadeleriyle birleştirilir. Google Benchmark ile map ve unordered_map seçimini ölçüme dayandırırsınız.

Süre ve Format

2 Gün. Her gün dört modül; İlişkisel Konteynerler, Algoritmalar ve Performans konuları uygulamalı işlenir.

Seviye

Orta Seviye — map, set, unordered_map kapları ve STL algoritmalarıyla veri işleme.

Öğrenme Metodu

Kelime frekansı, sözlük ve önbellek gibi gerçek problemler kodlanıp benchmark ve sanitizer ile doğrulanır.

Neden Bu Eğitim?

⚡Verimli Kod

Konteyner seçimini karmaşıklık ve önbellek davranışına göre yaparak daha hızlı programlar yazarsınız.

🧩Modern C++

C++17/20 özellikleri olan şablon, lambda ve ranges ile daha kısa ve güvenli kod üretirsiniz.

🐞Az Hata

Iterator geçersizleşmesi ve bellek hatalarını sanitizer araçlarıyla erken yakalarsınız.

Anahtar Konular

c++ mapc++ unordered_mapstl algoritmalarıc++ setstd::sortlambda c++c++ rangeshash fonksiyonuc++ konteynerlerc++ eğitimi
“Doğru anahtar-değer yapısı, yarım saatlik döngüyü tek satıra indirir.”

Ön Koşullar

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

1
C++ Temelleri

Değişken, fonksiyon, sınıf ve işaretçi kavramlarını bilmek gerekir.

2
Derleyici

GCC 11+, Clang 14+ veya MSVC 2022 ile C++17/20 derleyebilen bir ortam gerekir.

3
Geliştirme Aracı

CMake ve bir IDE (VS Code, CLion veya Visual Studio) kurulu olmalıdır.

4
Veri Yapıları

Dizi, bağlı liste ve hash tablosu gibi temel veri yapıları fikri faydalıdır.

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ı map, set ve unordered_map kaplarını doğru API ve karşılaştırıcıyla kullanabilir.
Modül 1
Iterator'lar ve Geçersizleşme Kuralları
  • İterator kategorileri: input, forward, bidirectional, random access ve contiguous
  • begin/end, cbegin/cend, rbegin/rend ve range-based for döngüsü
  • std::advance, std::distance, std::next ve std::prev
  • İterator geçersizleşmesi: vector reserve / insert / erase sonrası davranış
  • Insert iterator'lar: back_inserter, front_inserter, inserter; stream iterator'lar
  • C++20 ranges: views::filter, views::transform ve lazy değerlendirme
Modül 2
İlişkisel Konteynerler: map, set, unordered_map
  • std::set / std::map (kırmızı-siyah ağaç), multiset / multimap ve O(log n) işlemler
  • insert, emplace, try_emplace, insert_or_assign ve operator[] farkları
  • unordered_map / unordered_set: hash fonksiyonu, bucket, load_factor ve rehash
  • Özel karşılaştırıcı (comparator) ve özel hash'in std::hash özelleştirmesiyle yazılması
  • Node handle: extract() / merge() ve heterogeneous lookup (is_transparent)
  • map ile unordered_map seçimi: sıralı gezinme, bellek ve performans karşılaştırması
Modül 3
Sarmalayıcı Tipler: optional, variant, any, reference_wrapper
  • std::optional: değer yok durumu, value_or ve monadik işlemler (C++23 and_then)
  • std::variant ve std::visit ile güvenli birleşik tipler (overloaded pattern)
  • std::any, std::type_index ve tip silme (type erasure) mantığı
  • std::reference_wrapper, std::ref ve konteynerlerde referans saklama
  • std::pair, std::tuple, structured bindings ve std::tie
  • std::function ve std::bind sarmalayıcıları, maliyet ve alternatifleri
Modül 4
Taşıma Semantiği ve Bellek Yönetimi
  • lvalue / rvalue, std::move ve std::forward (mükemmel iletim)
  • Taşıma yapıcı ve noexcept önemi: vector yeniden ayırmada taşıma ile kopya seçimi
  • std::unique_ptr, std::shared_ptr, std::weak_ptr ve konteynerde saklama
  • RAII ve istisna güvenliği (strong exception guarantee)
  • std::pmr polimorfik ayırıcılar ve monotonic_buffer_resource
  • AddressSanitizer / Valgrind ile bellek sızıntısı ve geçersiz iterator tespiti
Günün hedefiKatılımcı STL algoritmalarıyla veri dönüşümü yapıp seçimlerini ölçümle doğrulayabilir.
Modül 1
STL Algoritmaları
  • Arama ve sayma: find, find_if, count_if, binary_search, lower_bound / upper_bound
  • Sıralama: sort, stable_sort, partial_sort, nth_element ve özel karşılaştırıcılar
  • Dönüştürme: transform, for_each, accumulate, reduce ve inner_product
  • Silme: remove / remove_if + erase idiomu ve C++20 std::erase_if
  • Lambda ifadeleri: yakalama (capture) modları, mutable ve genel lambda
  • C++17 paralel algoritmalar (std::execution::par) ve C++20 std::ranges::sort
Modül 2
Konteyner Adaptörleri
  • std::stack, std::queue ve std::priority_queue arayüzleri ve alttaki konteyner (deque / vector)
  • priority_queue ile min-heap kurma ve özel karşılaştırıcı
  • make_heap, push_heap, pop_heap algoritmalarıyla elle heap yönetimi
  • Adaptör kullanarak BFS / DFS ve görev kuyruğu örnekleri
  • std::flat_map ve std::mdspan gibi yeni C++23 eklerine genel bakış
  • İş parçacığı güvenli kuyruk: mutex ve condition_variable ile sarmalama
Modül 3
Performans Ölçümü ve Konteyner Seçimi
  • Big-O karmaşıklığı ile gerçek performans farkı: sabitler ve önbellek etkisi
  • Google Benchmark ile vector, list ve deque ekleme / gezme ölçümü
  • perf ve Valgrind callgrind ile sıcak nokta analizi
  • reserve, emplace ve move ile ayırma sayısını azaltma
  • Küçük tipler için flat (vector tabanlı) sıralı yapılar ve boost::flat_map fikri
  • Derleyici bayrakları (-O2, -O3, -march=native) ve inlining etkisi
Modül 4
Hata Ayıklama ve Birim Test
  • GoogleTest / Catch2 ile konteyner davranışı için birim test yazımı
  • gdb ile STL konteyner içeriğini yazdırma (pretty-printer) ve breakpoint kullanımı
  • AddressSanitizer ve UBSan ile sınır aşımı, use-after-free ve tanımsız davranış tespiti
  • Iterator geçersizleşmesi ve at() ile operator[] farkı üzerinden sınır denetimi hatalarını yakalama
  • Valgrind memcheck çıktısını okuma ve sızıntı kaynağını bulma
  • Kod incelemesi ve clang-tidy ile STL kullanım kurallarının otomatik denetimi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Iterator Kullanımı

İterator kategorilerini ve geçersizleşme kurallarını bilerek hatasız döngüler yazabilirsiniz.

✅
İlişkisel Konteynerler

map, set ve unordered_* kapları ile anahtar-değer verilerini doğru karmaşıklıkla yönetebilirsiniz.

✅
Sarmalayıcılar

std::optional, variant ve reference_wrapper gibi sarmalayıcıları konteynerlerle güvenle birlikte kullanabilirsiniz.

✅
Taşıma Semantiği

Taşıma semantiği ve akıllı işaretçilerle konteynerlerde gereksiz kopyaları ortadan kaldırabilirsiniz.

✅
STL Algoritmaları

STL algoritmalarını lambda ifadeleriyle birleştirerek döngü yazmadan sağlam çözümler üretebilirsiniz.

✅
Adaptör Kapları

stack, queue ve priority_queue adaptörlerini altta yatan konteyner seçimiyle kullanabilirsiniz.

✅
Performans Analizi

Google Benchmark ve profil araçlarıyla konteyner seçimini ölçüme dayalı yapabilirsiniz.

✅
Hata Ayıklama

GoogleTest, gdb ve sanitizer araçlarıyla konteyner kodundaki hataları hızla bulabilirsiniz.

Kimler İçin Uygundur?

  • C++ ile veri işleyen
  • algoritma
  • konteyner bilgisini derinleştirmek isteyen yazılımcılar ve yarışmacı programcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C++ ile veri işleyen, algoritma ve konteyner bilgisini derinleştirmek isteyen yazılımcılar ve yarışmacı programcılar için uygundur.
Eğitime katılmak için ön koşul ve ortam gereksinimi nedir?
Değişken, fonksiyon, sınıf ve işaretçi kavramlarını bilmek gerekir. GCC 11+, Clang 14+ veya MSVC 2022 ile C++17/20 derleyebilen bir ortam gerekir.
Sadece konteyner mi işleniyor?
Hayır; konteynerlerle birlikte kullanılan sort, find, transform gibi algoritmalar ve lambda ifadeleri aynı ağırlıkta işlenir.
Yarışmaya yönelik mi?
Yarışma programcılığına da fayda sağlar ancak odak üretim kodu kalitesi ve performans ölçümüdür.
Eğitim sonunda sertifika alabilir miyim?
Programı tamamlayan 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. C++: Working with Associative Containers & Algorithms Eğitim 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

Docker ve KonteynerleştirmeMicroservices, Containers & DevOps Workshop (MCRSDVO) Eğitimi
DevOps ve Konteyner Eğitimleri

Microservices, Containers & DevOps Workshop (MCRSDVO) Eğitimi

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

MCRSDVO atölyesi: mikroservis tasarımı, Docker paketleme, CI/CD ve GitOps, Kubernetes orkestrasyonu, gözlemlenebilirlik ve canary/blue-green ilerleyici dağıtım.

Detayları Gör →
Docker ve KonteynerleştirmeMicrosoft Azure Administrator: Application Containers Eğitimi
DevOps ve Konteyner Eğitimleri

Microsoft Azure Administrator: Application Containers Eğitimi

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

Azure konteyner yönetimi eğitimi: Azure Container Registry, Container Instances, Container Apps ve AKS yönetimi, ölçekleme, yönetilen kimlik ve Container Insigh

Detayları Gör →
Docker ve KonteynerleştirmeMicrosoft Azure Architect Design: Windows Virtual Desktop and Containers Eğitimi
DevOps ve Konteyner Eğitimleri

Microsoft Azure Architect Design: Windows Virtual Desktop and Containers Eğitimi

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

Azure mimari tasarım eğitimi: Azure Virtual Desktop host havuzları ve FSLogix, konteyner barındırma seçimi, AKS ağ/kimlik tasarımı, izleme ve maliyet yönetişimi

Detayları Gör →
Docker ve KonteynerleştirmeMicrosoft Azure Fundamentals: Azure Containers Eğitimi
DevOps ve Konteyner Eğitimleri

Microsoft Azure Fundamentals: Azure Containers Eğitimi

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

Azure konteyner temelleri eğitimi: konteyner kavramı, Azure Container Registry, Azure Container Instances, Container Apps ve AKS'ye giriş ile hizmet seçimi.

Detayları Gör →
Docker ve KonteynerleştirmeMicrosoft Azure Infrastructure Solutions: Application Containers Eğitimi
DevOps ve Konteyner Eğitimleri

Microsoft Azure Infrastructure Solutions: Application Containers Eğitimi

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

Azure konteyner altyapı eğitimi: AKS küme ve düğüm havuzu tasarımı, CSI depolama, Azure CNI ağ, workload identity, dayanıklılık ve Azure Monitor ile gözlemleneb

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