CodeBlanks Logo Icon CodeBlanks
Ücretsiz 4 seviye

Algoritmalar

Big-O, sıralama, arama, veri yapıları, dinamik programlama, en kısa yol ve uzman konulara kadar tüm algoritmalar.

Algoritmalar kursu Big-O notasyonu, sıralama ve arama algoritmaları, veri yapıları, dinamik programlama, graph algoritmaları ve NP-completeness gibi uzman konuları kapsar.

  • 257 ders
  • 17 sa 8 dk
  • 7 proje

Hesap gerekmez, hemen başlayabilirsin. İlerlemeni kaydetmek istersen ücretsiz hesap aç

Seviyeler

Algoritmalar kursu dört seviyede sıfırdan uzmanlığa ilerler. İstediğin seviyeden başlayabilirsin.
Seviyeni bilmiyor musun? Seviye testini çöz
Başlangıç

Algoritma nedir, Big-O, diziler, arama, sıralama, recursion, yığın, kuyruk ve hash table temellerini öğrenirsin.

  • Algoritma nedir?
  • Big-O notasyonu
  • Dizi (array)
  • Doğrusal arama
80 ders · 5 sa 20 dk Dersleri gör →
Orta

Orta seviye

Merge, quick, heap, counting ve radix sort ile ağaçlar, graph, BFS, DFS, greedy ve backtracking öğrenirsin.

  • Merge sort
  • Quick sort
  • Heap sort
  • Counting sort
80 ders · 5 sa 20 dk Dersleri gör →
İleri

İleri seviye

Dinamik programlama, LCS, knapsack, en kısa yol, minimum çevreli ağaç, topological sort ve ileri veri yapıları öğrenirsin.

  • DP - Memoization
  • DP - Tabulation
  • Longest common subsequence
  • Knapsack
56 ders · 3 sa 44 dk Dersleri gör →
Uzman

Uzman seviye

Amortized analiz, NP-completeness, yaklaşık ve rastgele algoritmalar, string matching, hesaplamalı geometri, ağ akışı ve oyun teorisi öğrenirsin.

  • Amortized analysis
  • NP-completeness
  • Approximation and randomized
  • String matching
41 ders · 2 sa 44 dk Dersleri gör →

Yapacağın projeler

Her seviyede öğrendiklerini gerçek bir sayfada birleştirirsin.

Nasıl çalışıyor?

Kısa anlatım

Her ders tek bir kavramı birkaç kısa kartla anlatır; uzun video ya da metin yok.

Hemen dene

Çoktan seçmeli, boşluk doldurma ve eşleştirme sorularıyla öğrendiğini anında pekiştirirsin.

Kendin yaz

Tarayıcıdaki editörde gerçek kod yazarsın; kodun anında kontrol edilir ve sonucu canlı görürsün.

Müfredat

62 grup · 257 ders · 17 sa 8 dk

Algoritma nedir, Big-O, diziler, arama, sıralama, recursion, yığın, kuyruk ve hash table temellerini öğrenirsin.

1
Algoritma nedir?
4 ders · 16 dk
  1. 1 Algoritma tanımı Algoritmanın sonlu adım dizisi olduğunu ve girdiyi çıktıya çevirdiğini öğrenirsin. 4 dk
  2. 2 Algoritma özellikleri Sonluluk, belirginlik, girdi, çıktı ve etkililik gibi algoritma özelliklerini öğrenirsin. 4 dk
  3. 3 Sözde kod Sözde kod ile algoritma adımlarını anlaşılır biçimde yazmayı öğrenirsin. 4 dk
  4. 4 Özet - Algoritma kavramı Algoritma tanımını, özelliklerini ve sözde kodu bir mini görevle birleştirirsin. 4 dk
2
Big-O notasyonu
4 ders · 16 dk
  1. 1 Zaman karmaşıklığı Algoritmanın çalışma süresinin girdi boyusuyla nasıl büyüdüğünü öğrenirsin. 4 dk
  2. 2 Big-O tanımı Big-O notasyonunun üst sınır ifade ettiğini ve O(1), O(n), O(n^2) örneklerini öğrenirsin. 4 dk
  3. 3 Karmaşıklık karşılaştırma O(1), O(log n), O(n), O(n log n), O(n^2) karmaşıklıklarını hızdan yavaşa sıralamayı öğrenirsin. 4 dk
  4. 4 Özet - Big-O Big-O notasyonunu bir fonksiyonun büyüme hızını hesaplayan mini görevle pekiştirirsin. 4 dk
3
Dizi (array)
4 ders · 16 dk
  1. 1 Dizi nedir? Dizinin ardışık bellek hücrelerinde aynı türden elemanları tutan veri yapısı olduğunu öğrenirsin. 4 dk
  2. 2 Dizide erişim Dizide bir elemana 0 tabanlı indeksle erişmeyi ve O(1) olduğunu öğrenirsin. 4 dk
  3. 3 Dizide döngü for döngüsüyle dizinin tüm elemanlarını gezmeni ve toplam hesaplamayı öğrenirsin. 4 dk
  4. 4 Özet - Diziler Dizi erişim ve döngü becerilerini bir araya getiren mini görev yaparsın. 4 dk
4
Doğrusal arama
4 ders · 16 dk
  1. 1 Doğrusal arama mantığı Bir diziyi baştan sona gezerek hedefi aramanın O(n) algoritması olduğunu öğrenirsin. 4 dk
  2. 2 Arama uygulaması Doğrusal aramayı sözde koda döküp indeks döndüren fonksiyon yazmayı öğrenirsin. 4 dk
  3. 3 En iyi ve en kötü durum Doğrusal aramada en iyi O(1), en kötü O(n) durumları öğrenirsin. 4 dk
  4. 4 Özet - Doğrusal arama Doğrusal aramayı çağırıp sonucu yazdıran mini görev yaparsın. 4 dk
5
Arama projesiProje
4 ders · 16 dk
  1. 1 Proje: Genel bakış Öğrenci notları dizisinde arama yapan mini uygulamanın planını çıkarırsın. 4 dk
  2. 2 Not dizisi tanımı Öğrenci notlarını bir dizide tanımlayıp yazdıran kodu eklersin. 4 dk
  3. 3 Arama fonksiyonu linear_search fonksiyonunu projeye ekleyip hedef notu aratır. 4 dk
  4. 4 Sonucu yazdır Arama sonucunu bulundu/bulunamadı biçiminde ekrana yazdırırsın. 4 dk
6
Bubble sort
4 ders · 16 dk
  1. 1 Bubble sort mantığı Komşu elemanları karşılaştırıp yer değiştirerek büyük olanları sona kaydıran algoritmayı öğrenirsin. 4 dk
  2. 2 Bir geçiş Tek bir geçişte komşu çiftleri nasıl tarayacağını öğrenirsin. 4 dk
  3. 3 Tam sıralama Birden fazla geçişle diziyi tamamen sıralamayı ve O(n^2) karmaşıklığını öğrenirsin. 4 dk
  4. 4 Özet - Bubble sort Bubble sort uygulayan ve sonucu yazdıran mini görev yaparsın. 4 dk
7
Selection sort
4 ders · 16 dk
  1. 1 Selection sort mantığı Her turda en küçük elemanı bulup başa yerleştiren algoritmayı öğrenirsin. 4 dk
  2. 2 Minimum bulma Bir dilimde en küçük elemanın indeksini bulmayı öğrenirsin. 4 dk
  3. 3 Yer değiştirme Minimimi başla yer değiştirmeyi ve tür sayısını öğrenirsin. 4 dk
  4. 4 Özet - Selection sort Selection sort uygulayan mini görev yaparsın. 4 dk
8
Insertion sort
4 ders · 16 dk
  1. 1 Insertion sort mantığı Kart sıralar gibi her elemanı sol taraftaki sıralı bölüme yerleştiren algoritmayı öğrenirsin. 4 dk
  2. 2 Kaydırma Sıralı bölümde doğru yeri bulana kadar elemanları sağa kaydırmayı öğrenirsin. 4 dk
  3. 3 Yerleştirme Boşalan yere elemanı koymayı ve tüm diziyi sıralamayı öğrenirsin. 4 dk
  4. 4 Özet - Insertion sort Insertion sort uygulayan mini görev yaparsın. 4 dk
9
Sıralama projesiProje
4 ders · 16 dk
  1. 1 Proje: Genel bakış Fiyat listesini sıralayan mini uygulamanın planını çıkarırsın. 4 dk
  2. 2 Fiyat dizisi Fiyatları bir dizide tanımlayıp sıralanmamış hali yazdırırsın. 4 dk
  3. 3 Sıralama uygula Bubble sort ile fiyatları küçükten büyüğe sıralarsın. 4 dk
  4. 4 Sonucu yazdır Sıralı fiyat listesini ekrana yazdırırsın. 4 dk
10
Recursion temel
4 ders · 16 dk
  1. 1 Recursion nedir? Bir fonksiyonun kendini çağırmasına recursion dendiğini öğrenirsin. 4 dk
  2. 2 Taban durum Recursion'ı durduran taban durumun zorunlu olduğunu öğrenirsin. 4 dk
  3. 3 Özyineleme adımı Problemi daha küçük aynı probleme bölerek çözmeyi öğrenirsin. 4 dk
  4. 4 Özet - Recursion Bir recursive sayma fonksiyonu yazdıran mini görev yaparsın. 4 dk
11
Fibonacci
4 ders · 16 dk
  1. 1 Fibonacci dizisi Her sayının önceki iki sayının toplamı olduğu Fibonacci dizisini öğrenirsin. 4 dk
  2. 2 Recursive Fibonacci Fibonacci'yi recursion ile hesaplayan fonksiyonu yazmayı öğrenirsin. 4 dk
  3. 3 Çağrı ağacı Recursive Fibonacci'nin tekrarlı çağrılarla verimsiz olduğunu öğrenirsin. 4 dk
  4. 4 Özet - Fibonacci İlk n Fibonacci sayısını yazdıran mini görev yaparsın. 4 dk
12
Faktöryel
4 ders · 16 dk
  1. 1 Faktöryel tanımı n! = n * (n-1) * ... * 1 tanımını ve 0! = 1 kuralını öğrenirsin. 4 dk
  2. 2 Recursive faktöryel Faktöryeli recursion ile hesaplayan fonksiyonu yazmayı öğrenirsin. 4 dk
  3. 3 Taban durum seçimi 0! = 1 taban durumunun nasıl çalıştığını ve hatalı taban durumun tehlikesini öğrenirsin. 4 dk
  4. 4 Özet - Faktöryel Bir sayının faktöryelini hesaplayıp yazdıran mini görev yaparsın. 4 dk
13
Recursion projesiProje
4 ders · 16 dk
  1. 1 Proje: Genel bakış Üs alma ve kombinasyon hesaplayan recursive mini uygulamanın planını çıkarırsın. 4 dk
  2. 2 Recursive üs alma power(base, exp) recursive fonksiyonunu eklersin. 4 dk
  3. 3 Kombinasyon hesabı C(n, k) kombinasyonunu factorial kullanarak hesaplarsın. 4 dk
  4. 4 Sonuçları yazdır Üs ve kombinasyon sonuçlarını ekrana yazdırırsın. 4 dk
14
İkili arama
4 ders · 16 dk
  1. 1 İkili arama mantığı Sıralı dizide aralığı her seferinde ikiye bölerek O(log n) arama yapmayı öğrenirsin. 4 dk
  2. 2 Sol sağ gösterici low ve high göstericileriyle aralığı nasıl daraltacağını öğrenirsin. 4 dk
  3. 3 Taban durum low > high olduğunda eleman yok sayıldığını öğrenirsin. 4 dk
  4. 4 Özet - İkili arama İkili arama uygulayıp sonucu yazdıran mini görev yaparsın. 4 dk
15
Bağlı liste
4 ders · 16 dk
  1. 1 Bağlı liste nedir? Düğümlerin işaretçiyle sonraki düğüme bağlandığı veri yapısını öğrenirsin. 4 dk
  2. 2 Düğüm tanımı Düğümün veri ve next alanlarından oluştuğunu öğrenirsin. 4 dk
  3. 3 Listede gezme Başlangıç düğümünden başlayıp sona kadar gezmeyi öğrenirsin. 4 dk
  4. 4 Özet - Bağlı liste Üç düğümlü bir listeyi gezip değerleri yazdıran mini görev yaparsın. 4 dk
16
Yığın (stack)
4 ders · 16 dk
  1. 1 Stack nedir? LIFO (son giren ilk çıkar) prensibiyle çalışan veri yapısını öğrenirsin. 4 dk
  2. 2 Push ve pop push ile eleman eklemeyi, pop ile eleman çıkarmayı öğrenirsin. 4 dk
  3. 3 Peek ve boş mu Tepe elemanı çıkarmadan bakmayı ve boş kontrolünü öğrenirsin. 4 dk
  4. 4 Özet - Stack Stack'e eleman ekleyip çıkarıp sonucu yazdıran mini görev yaparsın. 4 dk
17
Kuyruk (queue)
4 ders · 16 dk
  1. 1 Queue nedir? FIFO (ilk giren ilk çıkar) prensibiyle çalışan veri yapısını öğrenirsin. 4 dk
  2. 2 Enqueue ve dequeue enqueue ile arkaya eleman eklemeyi, dequeue ile önden çıkarmayı öğrenirsin. 4 dk
  3. 3 Ön ve arka front ve rear göstericilerinin nasıl yönetileceğini öğrenirsin. 4 dk
  4. 4 Özet - Queue Queue'ya eleman ekleyip çıkarıp sırayı yazdıran mini görev yaparsın. 4 dk
18
Hash table
4 ders · 16 dk
  1. 1 Hash table nedir? Anahtarı değere O(1) ortalamada eşleyen veri yapısını öğrenirsin. 4 dk
  2. 2 Hash fonksiyonu Anahtarı bir dizin indeksine çeviren hash fonksiyonunu öğrenirsin. 4 dk
  3. 3 Çakışma İki anahtarın aynı indekse düşmesi durumunu ve zincirleme çözümü öğrenirsin. 4 dk
  4. 4 Özet - Hash table Anahtar-değer çifti ekleyip yazdıran mini görev yaparsın. 4 dk
19
Set
4 ders · 16 dk
  1. 1 Set nedir? Tekrarsız elemanları tutan veri yapısını öğrenirsin. 4 dk
  2. 2 Ekleme ve arama Set'e eleman eklemeyi ve üyelik sorgulamayı öğrenirsin. 4 dk
  3. 3 Kesişim ve birleşim İki set'in kesişim ve birleşimini almayı öğrenirsin. 4 dk
  4. 4 Özet - Set Bir set'e eleman ekleyip yazdıran mini görev yaparsın. 4 dk
20
Başlangıç finaliFinal
4 ders · 16 dk
  1. 1 Meydan okuma 1 Bir dizideki en büyük elemanı bulan algoritmayı yazarsın. 4 dk
  2. 2 Meydan okuma 2 Doğrusal aramayı kullanarak hedefi bulan fonksiyonu yazarsın. 4 dk
  3. 3 Meydan okuma 3 Bubble sort ile bir diziyi sıralayıp yazdırırsın. 4 dk
  4. 4 Meydan okuma 4 Recursive faktöryel hesaplayıp sonucu yazdırırsın. 4 dk

Merge, quick, heap, counting ve radix sort ile ağaçlar, graph, BFS, DFS, greedy ve backtracking öğrenirsin.

1
Merge sort
4 ders · 16 dk
  1. 1 Böl ve yönet Diziyi ikiye bölüp her yarıyı sıralayıp birleştiren yöntemi öğrenirsin. 4 dk
  2. 2 Merge işlemi İki sıralı diziyi tek sıralı diziye birleştirmeyi öğrenirsin. 4 dk
  3. 3 Tam merge sort Recursive merge sort uygulayıp O(n log n) karmaşıklığını öğrenirsin. 4 dk
  4. 4 Özet - Merge sort Merge sort uygulayıp sonucu yazdıran mini görev yaparsın. 4 dk
2
Quick sort
4 ders · 16 dk
  1. 1 Pivot seçimi Quick sort'ta pivot elemanı seçip diziyi bölmeyi öğrenirsin. 4 dk
  2. 2 Bölme işlemi Pivottan küçükleri sola, büyükleri sağa dizmeyi öğrenirsin. 4 dk
  3. 3 Recursive quick sort Her iki tarafı recursive olarak sıralamayı ve O(n log n) ortalamayı öğrenirsin. 4 dk
  4. 4 Özet - Quick sort Quick sort uygulayıp sonucu yazdıran mini görev yaparsın. 4 dk
3
Heap sort
4 ders · 16 dk
  1. 1 Heap nedir? Tam ikili ağaç şeklinde yığın (heap) veri yapısını öğrenirsin. 4 dk
  2. 2 Heapify Bir düğümü aşağı kaydırarak yığın özelliğini sağlamayı öğrenirsin. 4 dk
  3. 3 Build heap ve sırala Diziden yığın kurup teker teker çıkararak sıralamayı öğrenirsin. 4 dk
  4. 4 Özet - Heap sort Heap sort uygulayıp sonucu yazdıran mini görev yaparsın. 4 dk
4
Counting sort
4 ders · 16 dk
  1. 1 Sayma mantığı Her değerin sayısını sayıp kümülatif toplamla diziyi sıralamayı öğrenirsin. 4 dk
  2. 2 Sayı dizisi Değer aralığı için bir sayı dizisi kurmayı öğrenirsin. 4 dk
  3. 3 Çıktı dizisi Sayım dizisini kullanıp kararlı çıktı dizisi üretmeyi öğrenirsin. 4 dk
  4. 4 Özet - Counting sort Counting sort uygulayıp sonucu yazdıran mini görev yaparsın. 4 dk
5
Radix sort
4 ders · 16 dk
  1. 1 Radix mantığı Sayıları basamak basamak sıralayan algoritmayı öğrenirsin. 4 dk
  2. 2 Basamak dolaşma En düşük başamaktan başlayıp her basamak için sıralama yapmayı öğrenirsin. 4 dk
  3. 3 Kararlı alt sıralama Her başamakta kararlı bir alt sıralama kullanmanın önemini öğrenirsin. 4 dk
  4. 4 Özet - Radix sort Radix sort uygulayıp sonucu yazdıran mini görev yaparsın. 4 dk
6
Sıralama projesiProje
4 ders · 16 dk
  1. 1 Proje: Genel bakış Sınav puanlarını sıralayıp istatistik çıkaran mini uygulamanın planını çıkarırsın. 4 dk
  2. 2 Puan dizisi Puanları diziye koyup yazdırırsın. 4 dk
  3. 3 Merge sort uygula Merge sort ile puanları küçükten büyüğe sıralarsın. 4 dk
  4. 4 İstatistik yazdır En düşük, en yüksek ve medyan puanı yazdırırsın. 4 dk
7
Ağaç (tree)
4 ders · 16 dk
  1. 1 Ağaç nedir? Kök ve çocuk düğümlerden oluşan hiyerarşik veri yapısını öğrenirsin. 4 dk
  2. 2 Düğüm ve kenar Düğüm, kenar, yaprak ve derinlik terimlerini öğrenirsin. 4 dk
  3. 3 İkili ağaç Her düğümün en fazla iki çocuklu olduğu ikili ağacı öğrenirsin. 4 dk
  4. 4 Özet - Ağaçlar Küçük bir ikili ağacı gezip değerleri yazdıran mini görev yaparsın. 4 dk
8
BST
4 ders · 16 dk
  1. 1 BST kuralı Sol çocuk küçük, sağ çocuk büyük kuralıyla dizilen ikili arama ağacını öğrenirsin. 4 dk
  2. 2 BST ekleme Yeni bir değeri kurala göre ağaca yerleştirmeyi öğrenirsin. 4 dk
  3. 3 BST arama Değeri O(log n) ortalamada aramayı öğrenirsin. 4 dk
  4. 4 Özet - BST BST'ye eleman ekleyip inorder yazdıran mini görev yaparsın. 4 dk
9
AVL tree
4 ders · 16 dk
  1. 1 Dengeli ağaç Yükseklik farkının en fazla 1 olduğu AVL ağacını öğrenirsin. 4 dk
  2. 2 Döndürme Tek ve çift döndürmelerle dengeyi sağlamayı öğrenirsin. 4 dk
  3. 3 Ekleme sonrası denge Eklemeden sonra dengeyi yeniden kurmayı öğrenirsin. 4 dk
  4. 4 Özet - AVL tree AVL mantığını pekiştiren mini görev yaparsın. 4 dk
10
Heap
4 ders · 16 dk
  1. 1 Min ve max heap Min-heap ve max-heap arasındaki farkı öğrenirsin. 4 dk
  2. 2 Ekleme Yeni elemanı sona koyup yukarı kaydırarak eklemeyi öğrenirsin. 4 dk
  3. 3 Çıkarma Kökü çıkarıp son elemanla değiştirip aşağı kaydırmayı öğrenirsin. 4 dk
  4. 4 Özet - Heap Max-heap'e eleman ekleyip kökü yazdıran mini görev yaparsın. 4 dk
11
Priority queue
4 ders · 16 dk
  1. 1 Öncelikli kuyruk nedir? Her elemanın önceliği olan kuyruk veri yapısını öğrenirsin. 4 dk
  2. 2 Heap ile uygulama Öncelikli kuyruğu heap ile uygulamanın O(log n) verdiğini öğrenirsin. 4 dk
  3. 3 Push ve pop push ve pop işlemlerinin önceliğe göre çalışmasını öğrenirsin. 4 dk
  4. 4 Özet - Priority queue Öncelikli kuyruğa iş ekleyip en yüksek öncelikliyi yazdıran mini görev yaparsın. 4 dk
12
Veri yapıları projesiProje
4 ders · 16 dk
  1. 1 Proje: Genel bakış Bir görev listesini stack ve queue ile yöneten mini uygulama planlarsın. 4 dk
  2. 2 Geri al stack'i Yapılan işlemleri stack'e ekleyen kodu yazarsın. 4 dk
  3. 3 Bekleme kuyruğu Bekleyen görevleri queue'da tutan kodu eklersin. 4 dk
  4. 4 Durum yazdır Stack ve queue içeriğini yazdırırsın. 4 dk
13
Graph temel
4 ders · 16 dk
  1. 1 Graph nedir? Düğüm ve kenarlardan oluşan graph veri yapısını öğrenirsin. 4 dk
  2. 2 Komşuluk listesi Her düğümün komşularını listede tutan gösterimi öğrenirsin. 4 dk
  3. 3 Komşuluk matrisi Düğümler arası kenarı 1 ile gösteren matrisi öğrenirsin. 4 dk
  4. 4 Özet - Graph Küçük bir graph'ı komşuluk listesiyle yazdıran mini görev yaparsın. 4 dk
14
BFS
4 ders · 16 dk
  1. 1 BFS mantığı Başlangıç düğümünden dışa doğru kat kat dolaşan algoritmayı öğrenirsin. 4 dk
  2. 2 Kuyruk kullanımı BFS'nin queue ile uygulandığını öğrenirsin. 4 dk
  3. 3 Ziyaret işaretleme Ziyaret edilen düğümü işaretleyerek tekrarı önlemeyi öğrenirsin. 4 dk
  4. 4 Özet - BFS Bir graph'ta BFS uygulayıp sırayı yazdıran mini görev yaparsın. 4 dk
15
DFS
4 ders · 16 dk
  1. 1 DFS mantığı Bir dalı sonuna kadar takip eden derin öncelikli aramayı öğrenirsin. 4 dk
  2. 2 Stack veya recursion DFS'nin stack ya da recursion ile uygulandığını öğrenirsin. 4 dk
  3. 3 Geri izleme Çıkmaz sokakta geri dönüp yeni dal denemeyi öğrenirsin. 4 dk
  4. 4 Özet - DFS Bir graph'ta DFS uygulayıp sırayı yazdıran mini görev yaparsın. 4 dk
16
Greedy algoritmalar
4 ders · 16 dk
  1. 1 Greedy yaklaşım Her adımda yerel en iyiyi seçen yaklaşımı öğrenirsin. 4 dk
  2. 2 Bozuk para Greedy ile bozuk para verme örneğini öğrenirsin. 4 dk
  3. 3 Greedy sınırları Greedy'nin her zaman en iyiyi vermediğini öğrenirsin. 4 dk
  4. 4 Özet - Greedy Bozuk para greedy çözümünü yazdıran mini görev yaparsın. 4 dk
17
Divide and conquer
4 ders · 16 dk
  1. 1 Üç adım Böl, yönet, birleştir adımlarını öğrenirsin. 4 dk
  2. 2 Recursive yapı Divide and conquer'ın recursive doğasını öğrenirsin. 4 dk
  3. 3 Master teorem T(n) = aT(n/b) + f(n) denklemini ve çözümünü öğrenirsin. 4 dk
  4. 4 Özet - Divide and conquer Bir problemi bölerek çözen mini görev yaparsın. 4 dk
18
Backtracking
4 ders · 16 dk
  1. 1 Backtracking nedir? Deneme-yanılma ile çözüm arayan yöntemi öğrenirsin. 4 dk
  2. 2 Durum ağacı Çözümleri bir ağaçta dallandırarak gezmeyi öğrenirsin. 4 dk
  3. 3 Budama Uygunsuz dalları erken keserek zaman kazanmayı öğrenirsin. 4 dk
  4. 4 Özet - Backtracking N-queens tarzı mini görevle backtracking'i pekiştirirsin. 4 dk
19
Graph projesiProje
4 ders · 16 dk
  1. 1 Proje: Genel bakış Şehir haritasında en kısa bağlantıyı bulan mini uygulama planlarsın. 4 dk
  2. 2 Şehir graph'ı Şehirleri komşuluk listesiyle tanımlarsın. 4 dk
  3. 3 BFS ile bağlantı BFS ile hangi şehirlere ulaşılabilir bulursun. 4 dk
  4. 4 Sonuç yazdır Ulaşılabilir şehirleri yazdırırsın. 4 dk
20
Orta seviye finaliFinal
4 ders · 16 dk
  1. 1 Meydan okuma 1 Merge sort ile bir diziyi sıralayıp yazdırırsın. 4 dk
  2. 2 Meydan okuma 2 BST'ye eleman ekleyip arama yaparsın. 4 dk
  3. 3 Meydan okuma 3 Bir graph'ta BFS uygulayıp sırayı yazdırırsın. 4 dk
  4. 4 Meydan okuma 4 Greedy ile bozuk para çözümünü yazdırırsın. 4 dk

Dinamik programlama, LCS, knapsack, en kısa yol, minimum çevreli ağaç, topological sort ve ileri veri yapıları öğrenirsin.

1
DP - Memoization
4 ders · 16 dk
  1. 1 Memoization nedir? Hesaplanan alt sonuçları saklayarak tekrar hesabı önlemeyi öğrenirsin. 4 dk
  2. 2 Fibonacci memoization Recursive Fibonacci'yi memoization ile hızlandırmayı öğrenirsin. 4 dk
  3. 3 Sözlük tabanlı önbellek Bir sözlük (dictionary) ile önbellek kurmayı öğrenirsin. 4 dk
  4. 4 Özet - Memoization Memoized Fibonacci çağırıp sonucu yazdıran mini görev yaparsın. 4 dk
2
DP - Tabulation
4 ders · 16 dk
  1. 1 Tabulation nedir? Alt problemleri bir tabloya doldurarak çözmeyi öğrenirsin. 4 dk
  2. 2 Tablo kurma Bir dizi tabloyu sırayla doldurmayı öğrenirsin. 4 dk
  3. 3 Fibonacci tabulation Fibonacci'yi tabloyla hesaplamayı öğrenirsin. 4 dk
  4. 4 Özet - Tabulation Tabulation ile Fibonacci hesaplayıp yazdıran mini görev yaparsın. 4 dk
3
Longest common subsequence
4 ders · 16 dk
  1. 1 LCS tanımı İki dizinin en uzun ortak alt dizisini öğrenirsin. 4 dk
  2. 2 DP tablosu LCS için iki boyutlu DP tablosu kurmayı öğrenirsin. 4 dk
  3. 3 Geri izleme Tablodan LCS dizisini geri izlemeyi öğrenirsin. 4 dk
  4. 4 Özet - LCS İki dize için LCS uzunluğunu yazdıran mini görev yaparsın. 4 dk
4
Knapsack
4 ders · 16 dk
  1. 1 Knapsack problemi Ağırlık ve değer verilen eşyalarla kapasiteyi doldurma problemini öğrenirsin. 4 dk
  2. 2 0/1 knapsack DP 0/1 knapsack için DP tablosu kurmayı öğrenirsin. 4 dk
  3. 3 Karar tablosu Her eşya için al ya da alma kararı tabloya yazmayı öğrenirsin. 4 dk
  4. 4 Özet - Knapsack Knapsack çözüp en iyi değeri yazdıran mini görev yaparsın. 4 dk
5
DP projesiProje
4 ders · 16 dk
  1. 1 Proje: Genel bakış Bir rota planlayıcısında DP kullanan mini uygulama planlarsın. 4 dk
  2. 2 Maliyet tablosu Şehirler arası maliyet tablosunu tanımlarsın. 4 dk
  3. 3 DP çözümü En ucuz rotayı DP ile hesaplarsın. 4 dk
  4. 4 Sonuç yazdır En ucuz maliyeti ekrana yazdırırsın. 4 dk
6
Matrix chain multiplication
4 ders · 16 dk
  1. 1 Çarpım sırası Matris çarpımında parantez sırasının maliyeti değiştirdiğini öğrenirsin. 4 dk
  2. 2 DP tablosu Matris zinciri için DP tablosu kurmayı öğrenirsin. 4 dk
  3. 3 Bölme noktası En iyi bölme noktasını bulmayı öğrenirsin. 4 dk
  4. 4 Özet - Matrix chain En küçük çarpım maliyetini yazdıran mini görev yaparsın. 4 dk
7
Floyd-Warshall
4 ders · 16 dk
  1. 1 Tüm çiftler Tüm düğüm çiftleri arasındaki en kısa yolu bulan algoritmayı öğrenirsin. 4 dk
  2. 2 Üçlü döngü k, i, j iç içe döngüleriyle tabloyu güncellemeyi öğrenirsin. 4 dk
  3. 3 Tablo güncelleme dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]) formülünü öğrenirsin. 4 dk
  4. 4 Özet - Floyd-Warshall Küçük bir graph'ta Floyd-Warshall uygulayan mini görev yaparsın. 4 dk
8
Dijkstra
4 ders · 16 dk
  1. 1 Tek kaynak Bir kaynaktan tüm düğümlere en kısa yolu bulan algoritmayı öğrenirsin. 4 dk
  2. 2 Öncelikli kuyruk Dijkstra'nın öncelikli kuyrukla verimli çalıştığını öğrenirsin. 4 dk
  3. 3 Gevşetme Kenar üzerinden daha kısa yol bulunca mesafeyi güncellemeyi öğrenirsin. 4 dk
  4. 4 Özet - Dijkstra Küçük graph'ta Dijkstra uygulayıp mesafeleri yazdıran mini görev yaparsın. 4 dk
9
Bellman-Ford
4 ders · 16 dk
  1. 1 Negatif ağırlık Bellman-Ford'un negatif ağırlıklarla çalıştığını öğrenirsin. 4 dk
  2. 2 Kenar döngüsü Tüm kenarları V-1 kez gevşetmeyi öğrenirsin. 4 dk
  3. 3 Negatif döngü Negatif döngü tespitini öğrenirsin. 4 dk
  4. 4 Özet - Bellman-Ford Bellman-Ford uygulayıp mesafeleri yazdıran mini görev yaparsın. 4 dk
10
Kruskal
4 ders · 16 dk
  1. 1 Minimum çevreli ağaç Bir graph'ın minimum çevreli ağacını bulma problemini öğrenirsin. 4 dk
  2. 2 Kenar sıralama Kenarları ağırlığa göre sıralayıp eklemeyi öğrenirsin. 4 dk
  3. 3 Döngü kontrolü Eklenen kenar döngü oluşturursa atlamayı öğrenirsin. 4 dk
  4. 4 Özet - Kruskal Kruskal uygulayıp MST ağırlığını yazdıran mini görev yaparsın. 4 dk
11
Prim
4 ders · 16 dk
  1. 1 Prim mantığı Bir düğümden başlayıp her adımda en ucuz kenarı ekleyen algoritmayı öğrenirsin. 4 dk
  2. 2 Öncelikli kuyruk Prim'in öncelikli kuyrukla verimli çalıştığını öğrenirsin. 4 dk
  3. 3 Ziyaret kümesi Ağaca eklenen düğümleri işaretlemeyi öğrenirsin. 4 dk
  4. 4 Özet - Prim Prim uygulayıp MST ağırlığını yazdıran mini görev yaparsın. 4 dk
12
Topological sort
4 ders · 16 dk
  1. 1 Bağımlılık sırası Yönlü çevresiz graph'ta bağımlılık sırası bulmayı öğrenirsin. 4 dk
  2. 2 DFS tabanlı sıralama DFS bitiş sırasının tersini alarak topolojik sıra bulmayı öğrenirsin. 4 dk
  3. 3 Kahn algoritması Derece sayımı ile sıralama yapmayı öğrenirsin. 4 dk
  4. 4 Özet - Topological sort Topolojik sırayı yazdıran mini görev yaparsın. 4 dk
13
Union-find, trie, segment tree
4 ders · 16 dk
  1. 1 Union-find Ayrık kümeleri birleştiren union-find veri yapısını öğrenirsin. 4 dk
  2. 2 Trie Önek arama için trie ağacını öğrenirsin. 4 dk
  3. 3 Segment tree Aralık sorguları için segment tree öğrenirsin. 4 dk
  4. 4 Özet - İleri veri yapıları Union-find ile küme birleştirme yazdıran mini görev yaparsın. 4 dk
14
İleri seviye finaliFinal
4 ders · 16 dk
  1. 1 Meydan okuma 1 DP ile Fibonacci hesaplayıp yazdırırsın. 4 dk
  2. 2 Meydan okuma 2 LCS uzunluğunu hesaplayıp yazdırırsın. 4 dk
  3. 3 Meydan okuma 3 Dijkstra ile en kısa mesafeleri yazdırırsın. 4 dk
  4. 4 Meydan okuma 4 Kruskal ile MST ağırlığını yazdırırsın. 4 dk

Amortized analiz, NP-completeness, yaklaşık ve rastgele algoritmalar, string matching, hesaplamalı geometri, ağ akışı ve oyun teorisi öğrenirsin.

1
Amortized analysis
4 ders · 16 dk
  1. 1 Amortized nedir? Bir dizi işlemin ortalama maliyetini öğrenirsin. 4 dk
  2. 2 Aggregate yöntem Toplam maliyeti sayıp ortalamayı öğrenirsin. 4 dk
  3. 3 Dinamik dizi örneği Dinamik dizinin çift maliyetli ama amortized O(1) olduğunu öğrenirsin. 4 dk
  4. 4 Özet - Amortized Amortized maliyeti yazdıran mini görev yaparsın. 4 dk
2
NP-completeness
4 ders · 16 dk
  1. 1 P ve NP P ve NP sınıflarının farkını öğrenirsin. 4 dk
  2. 2 NP-complete NP-complete problemlerin özelliğini öğrenirsin. 4 dk
  3. 3 Azaltma Bir problemi başka bir probleme azaltmayı öğrenirsin. 4 dk
  4. 4 Özet - NP-completeness Bir problem sınıflandırmasını yazdıran mini görev yaparsın. 4 dk
3
Approximation and randomized
4 ders · 16 dk
  1. 1 Yaklaşık algoritmalar Polinomsal zamanda yaklaşık çözüm veren algoritmaları öğrenirsin. 4 dk
  2. 2 Rastgele algoritmalar Rastgele seçimle çalışan algoritmaları öğrenirsin. 4 dk
  3. 3 Las Vegas ve Monte Carlo Las Vegas ve Monte Carlo algoritmalarını karşılaştırırsın. 4 dk
  4. 4 Özet - Approximation and randomized Rastgele yaklaşık çözümü yazdıran mini görev yaparsın. 4 dk
4
String matching
6 ders · 24 dk
  1. 1 KMP algoritması KMP ile önek tablolu string eşleme öğrenirsin. 4 dk
  2. 2 Rabin-Karp Rabin-Karp hash tabanlı string eşleme öğrenirsin. 4 dk
  3. 3 Boyer-Moore Boyer-Moore kötü karakter kuralıyla eşleme öğrenirsin. 4 dk
  4. 4 Z-algoritması Z-fonksiyonuyla eşleşme indekslerini öğrenirsin. 4 dk
  5. 5 Suffix array Suffix array ile sıralı sonek tablosu öğrenirsin. 4 dk
  6. 6 Özet - String matching KMP ile eşleşme indeksini yazdıran mini görev yaparsın. 4 dk
5
Computational geometry
6 ders · 24 dk
  1. 1 Vektör çapraz çarpım Çapraz çarpımla yön belirlemeyi öğrenirsin. 4 dk
  2. 2 Dışbükey zarf Dışbükey zarf bulma algoritmasını öğrenirsin. 4 dk
  3. 3 İki doğru kesişimi İki doğrunun kesişip kesişmediğini saptamayı öğrenirsin. 4 dk
  4. 4 En yakın nokta çifti Böl ve yönet ile en yakın nokta çiftini öğrenirsin. 4 dk
  5. 5 Nokta poligonda mı İşin gönderme yöntemiyle nokta sorgulamayı öğrenirsin. 4 dk
  6. 6 Özet - Geometry Üç noktanın yönünü yazdıran mini görev yaparsın. 4 dk
6
Network flow
6 ders · 24 dk
  1. 1 Akış ağı Kaynaktan hedefe akış ağı modelini öğrenirsin. 4 dk
  2. 2 Ford-Fulkerson Ford-Fulkerson yöntemiyle maksimum akış bulmayı öğrenirsin. 4 dk
  3. 3 Edmonds-Karp BFS tabanlı Edmonds-Karp algoritmasını öğrenirsin. 4 dk
  4. 4 Maksimum akış minimum kesme Maksimum akış minimum kesme teoremini öğrenirsin. 4 dk
  5. 5 İki parçalı eşleştirme İki parçalı grafikte maksimum eşleştirme öğrenirsin. 4 dk
  6. 6 Özet - Network flow Maksimum akışı yazdıran mini görev yaparsın. 4 dk
7
Game theory and parallel
6 ders · 24 dk
  1. 1 Minimax Oyun ağacında minimax değerini öğrenirsin. 4 dk
  2. 2 Alpha-beta budama Alpha-beta budama ile aramayı hızlandırmayı öğrenirsin. 4 dk
  3. 3 Nash dengesi Nash dengesi kavramını öğrenirsin. 4 dk
  4. 4 Paralel algoritmalar PRAM paralel modelini öğrenirsin. 4 dk
  5. 5 MapReduce MapReduce ile dağıtık hesaplama öğrenirsin. 4 dk
  6. 6 Özet - Game theory and parallel Minimax değerini yazdıran mini görev yaparsın. 4 dk
8
Uzman finaliFinal
5 ders · 20 dk
  1. 1 Meydan okuma 1 Amortized maliyeti yazdırırsın. 4 dk
  2. 2 Meydan okuma 2 KMP ile eşleşme indeksini yazdırırsın. 4 dk
  3. 3 Meydan okuma 3 Dışbükey zarfı yazdırırsın. 4 dk
  4. 4 Meydan okuma 4 Maksimum akışı yazdırırsın. 4 dk
  5. 5 Meydan okuma 5 Nihaimini görev: tüm modülleri birleştirirsin. 4 dk

Dersler ücretsiz, hesap ilerlemeni korur

Hesap açmak zorunlu değil. Açarsan kaldığın yerden devam eder, emeğini kaybetmezsin.

  • İlerlemen her cihazda kayıtlı
  • XP ve rozet kazan
  • Günlük seriyi koru
  • Kursu bitirince sertifika al
ücretsiz hesap aç

Sık sorulan sorular

Algoritmalar dersleri ücretsiz mi?

Evet. Algoritmalar kursundaki 257 dersin tamamı ücretsiz ve hesap açmadan başlayabilirsin.

Başlamak için ön bilgi gerekiyor mu?

Hayır. Başlangıç seviyesi sıfırdan anlatır; yalnızca bir tarayıcı yeterli. Konuyu biliyorsan üst seviyelerden başlayabilirsin.

Kursu bitirmek ne kadar sürer?

Dersler 2–8 dakikalık. Tüm kurs yaklaşık 17 saat; günde 15–20 dakikayla birkaç ayda bitirebilirsin.

Sertifika veriliyor mu?

Evet. Ücretsiz hesapla kursu tamamladığında adına doğrulanabilir bir sertifika oluşturulur.

Hesap açmadan ilerlemem kaybolur mu?

Hesapsız ilerlemen yalnızca kullandığın tarayıcıda tutulur. Ücretsiz hesap açtığında bu ilerleme hesabına aktarılır.

Sonraki adım Rust

Rust'ın sahiplik modeliyle güvenli ve hızlı sistem programlamayı öğrenin: bellek güvenliği, eşzamanlılık ve sıfır maliyetli soyutlamalar.