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

Sıralama algoritmalarını uygulayarak öğrenin

Bubble, selection, insertion, merge, quick, heap, counting sort; Big-O analizi; Timsort ve zaman ölçümü

Python'da bubble, selection, insertion, merge, quick, heap ve counting sort uygulamaları; Big-O analizi, kararlılık, Timsort ve timeit ile süre karşılaştırması.

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

Eğitim Hakkında

Sıralama algoritmaları ve analizi

Eğitim, sıralama algoritmalarını mantık, kod ve ölçümle öğretir: bubble, selection ve insertion sort ve O(n²) maliyeti, merge sort ile böl-fethet, quick sort ve pivot seçimi, heap sort, counting ve radix sort, kararlılık ve yerinde sıralama kavramları, Python Timsort, özyineleme ve timeit ile farklı veri boyutlarında karşılaştırmalı süre grafikleri.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Temel Sıralama Algoritmaları; 2. gün İleri Sıralama ve Analiz. Her modül uygulamalı alıştırmalarla pekiştirilir.

Seviye

Orta Seviye — Temel ve ileri sıralama algoritmalarını Python'da uygulayıp karmaşıklıklarını ölçerek karşılaştırmayı kapsar.

Öğrenme Metodu

Her algoritma adım adım izlenir, kodlanır ve rastgele, sıralı, ters sıralı veri üzerinde süre ölçümleriyle grafikleştirilir.

Neden Bu Eğitim?

🎯Algoritmik düşünme

Böl-fethet ve özyineleme gibi temel teknikleri sıralama üzerinden öğrenirsiniz.

🛠️Ölçerek karşılaştırma

Teorik karmaşıklığı gerçek süre grafikleriyle doğrularsınız.

📈Doğru seçim

Veri özelliğine göre uygun algoritmayı seçmeyi öğrenirsiniz.

Anahtar Konular

sıralama algoritmalarıpython sortingmerge sortquick sortbubble sortinsertion sorttimsortbig oheap sortalgoritma analizi
“En hızlı algoritma, veriyi tanıyan algoritmadır.”

Ö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ı O(n²) sıralama algoritmalarını uygular ve maliyetlerini ölçer.
Modül 1
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 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
İç İç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
Modül 4
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
Günün hedefiKatılımcı merge, quick ve counting sort uygular, Timsort ile karşılaştırır.
Modül 1
Liste Sıralama ve Dönüştürme
  • list.sort() ile sorted() farkı: yerinde ve yeni liste
  • key= parametresi ve lambda ile özel sıralama
  • reverse=True ve kararlı (stable) sıralama özelliği
  • map, filter ve comprehension ile dönüştürme
  • min, max, sum, len ve any/all yardımcıları
  • İç içe listeler ve matris işlemleri
Modül 2
Algoritma ve Veri Yapısı Optimizasyonu
  • Doğru veri yapısı seçimi: set/dict aramaları ve deque
  • Döngü yerine comprehension, map ve yerleşik fonksiyonlar
  • functools.lru_cache ve önbellekleme stratejileri
  • Generator ve tembel değerlendirme ile bellek tasarrufu
  • String birleştirme: join ve io.StringIO
  • Gereksiz kopya ve nesne üretimini azaltma (__slots__)
Modül 3
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 4
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

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
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

📊
İç İçe Döngüler

Matris ve desen problemlerini iç içe döngülerle çözüp maliyetini yorumlayabilirsiniz

🧩
Arama ve Analiz

İkili arama, özyineleme ve memoization ile algoritma karmaşıklığını analiz edebilirsiniz

🚀
Sıralama ve Dönüşüm

key ve lambda ile özel sıralama ve map/filter dönüşümleri yapabilirsiniz

🔍
Kod Optimizasyonu

Doğru veri yapısı, lru_cache ve generator ile kodu hızlandırabilirsiniz

🛡️
Profilleme

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

📌
Ağaç Yapıları

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

Kimler İçin Uygundur?

  • Algoritma temellerini pekiştirmek isteyen öğrenciler
  • mülakat hazırlığı yapanlar
  • geliştiriciler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Algoritma temellerini pekiştirmek isteyen öğrenciler, mülakat hazırlığı yapanlar ve geliştiriciler.
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.
Python zaten sort() sunuyorsa neden öğrenmeliyiz?
Algoritma mantığı, karmaşıklık analizi ve mülakat becerisi için; ayrıca Timsort ile kendi implementasyonlarımızın farkı ölçülür.
Özyineleme zorunlu mu?
Merge ve quick sort için kullanılır; özyineleme ilk oturumda temel durum ve çağrı yığınıyla 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: Sorting Algorithms E 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
KonuPython
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

PythonPython Unit Testing: Testing Python Code Using doctest Eğitimi
Yazılım Geliştirme Eğitimleri

Python Unit Testing: Testing Python Code Using doctest Eğitimi

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

Python doctest eğitimi: docstring örnekleri, çıktı eşleştirme, istisna testi, ELLIPSIS ve seçenek bayrakları, testfile, unittest ve pytest entegrasyonunu 2 günd

Detayları Gör →
PythonPython Unit Testing: Testing Python Code Using pytest Eğitimi
Yazılım Geliştirme Eğitimleri

Python Unit Testing: Testing Python Code Using pytest Eğitimi

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

Python pytest eğitimi: fixture, parametrize, monkeypatch, marker, hypothesis, pytest-cov, xdist ve CI entegrasyonuyla modern test paketlerini 3 günde kurun.

Detayları Gör →
PythonPython ve Büyük Veri için Spark (PySpark) Eğitimi
Yazılım Geliştirme Eğitimleri

Python ve Büyük Veri için Spark (PySpark) Eğitimi

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

PySpark eğitimi: Spark mimarisi, DataFrame, Spark SQL, join ve shuffle optimizasyonu, Delta Lake, Structured Streaming ve MLlib ile büyük veriyi 3 günde işleyin

Detayları Gör →
PythonPython ve FastAPI ile API Geliştirme Eğitimi
Yazılım Geliştirme Eğitimleri

Python ve FastAPI ile API Geliştirme Eğitimi

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

FastAPI eğitimi: Pydantic, Depends, SQLAlchemy, JWT/OAuth2, async, pytest testleri ve Docker dağıtımıyla üretime hazır Python API'sini 3 günde geliştirin.

Detayları Gör →
PythonPython with Altair: An Introduction to Altair Eğitimi
Yazılım Geliştirme Eğitimleri

Python with Altair: An Introduction to Altair Eğitimi

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

Python Altair giriş eğitimi: Vega-Lite mantığı, mark ve encoding, veri tipleri, toplulaştırma, katmanlama, seçim ve etkileşimle bildirimsel grafikleri 2 günde ö

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