Tüm algoritma kategorilerini keşfedin, interaktif görselleştirmeler ve detaylı açıklamalarla algoritmaların nasıl çalıştığını öğrenin.
İhtiyacınıza uygun algoritma seçmek, sorununuzun verimli çözümü için kritik öneme sahiptir. İşte algoritma seçerken göz önünde bulundurmanız gereken bazı faktörler:
Bu platformda sunulan algoritmalar, çeşitli problem türlerine yönelik çözümleri ve bunların uygulanma şekillerini göstermektedir. Her algoritmanın avantajları, dezavantajları ve karmaşıklık analizleri detaylı olarak incelenmiştir.
Verileri belirli bir düzende sıralamak için kullanılan algoritmalar
Öne Çıkan Başlıklar:
Veri yapılarında eleman bulmak için kullanılan algoritmalar
Öne Çıkan Başlıklar:
Graf veri yapıları üzerinde işlem yapan algoritmalar
Öne Çıkan Başlıklar:
Verileri organize etme ve saklama yöntemleri
Öne Çıkan Başlıklar:
Karmaşık problemleri alt problemlere bölerek çözen yöntemler
Öne Çıkan Başlıklar:
Bir problem için olası tüm çözümleri adım adım keşfeden ve geçersiz çözüm yollarını eleme yöntemiyle ilerleyen bir algoritma stratejisi
Öne Çıkan Başlıklar:
Her adımda en iyi görünen seçimi yaparak global optimum çözüm arayan problem çözme yaklaşımı
Öne Çıkan Başlıklar:
Benzer özelliklere sahip verileri gruplandırmak için kullanılan gözetimsiz öğrenme yöntemleri
Öne Çıkan Başlıklar:
Çeşitli problem alanlarında kullanılan, farklı kategorilere tam olarak sığmayan ancak yazılım geliştirmede kritik önem taşıyan algoritmalar
Öne Çıkan Başlıklar:
Belirli bir problem için olası çözümler arasından en iyi çözümü bulmayı amaçlayan algoritmalar
Öne Çıkan Başlıklar:
Matematiksel problemleri çözmek ve matematiksel hesaplamalar yapmak için kullanılan algoritmalar
Öne Çıkan Başlıklar:
String veriler üzerinde arama, eşleştirme, düzenleme ve manipülasyon yapmak için kullanılan özel algoritmalar
Öne Çıkan Başlıklar:
Karmaşık problemleri çözmek için optimize edilmiş, özel durumlara yönelik geliştirilmiş algoritmalar
Öne Çıkan Başlıklar:
Problemi aynı tipte daha küçük alt problemlere bölen, çözen ve sonuçları birleştiren algoritma tasarım yaklaşımı
Öne Çıkan Başlıklar:
Hesaplamalı Geometri kategorisi altındaki algoritmalar.
Öne Çıkan Başlıklar:
Tasarım / Optimizasyon / NP kategorisi altındaki algoritmalar.
Öne Çıkan Başlıklar:
Gelişmiş / Paralel / Bellek kategorisi altındaki algoritmalar.
Öne Çıkan Başlıklar:
Her adımda komşu elemanları karşılaştırarak ve gerekirse değiştirerek çalışan basit bir sıralama algoritması.
Karşılaştırma yapmadan, elemanların frekansını sayarak sıralama yapan doğrusal algoritma.
Binary heap veri yapısını kullanarak elemanları sıralayan verimli bir algoritma.
Elemanları teker teker alıp sıralı alt listeye uygun konuma yerleştiren algoritma.
Böl ve fethet yaklaşımını kullanarak diziyi parçalara ayırıp sıralayarak birleştiren algoritma.
Pivot eleman seçerek diziyi bölen ve alt dizileri sıralayan hızlı bir algoritma.
Sayıları basamaklarına göre sıralayan, counting sort tabanlı doğrusal algoritma.
Her adımda dizideki en küçük elemanı bulup uygun konuma yerleştiren algoritma.
Insertion sort'un geliştirilmiş versiyonu, gap aralıklarıyla elemanları önceden organize eden algoritma.
Python'un yerleşik sort fonksiyonunda kullanılan, merge sort ve insertion sort'un hibrit versiyonu.
Rastgeleleştirilmiş Quicksort, Pivot Bölümleme ve Üçlü Medyan Bölümleme varyantlarını içerir.
Taban Değişimli Sıralama ve Düz Tabanlı Sıralama varyantlarını içerir.
Elemanları kovalara dağıtarak ve her kovayı kendi içinde sıralayarak çalışan algoritma.
En Kötü Durumda Doğrusal K. Eleman (Median of Medians) ve Quickselect algoritmalarını içerir.
Sort-Merge, Dengeli Çok Yollu Birleştirme ve Yedekli Seçim yöntemlerini içerir.
Üç Eleman Sıralama (Sort3) ve Doğrusal Sıralama (Linear Sort) algoritmalarını içerir.
k adet sirali listeyi ya da dosya parcasini tek bir sirali akisa birlestiren genelleştirilmiş merge yontemidir.
Dis siralamada ara kosulari dengesiz ama planli bicimde dagitarak bant/dosya gecislerini azaltan merge stratejisidir.
Merge sort un recursive, non-recursive ve pratik iyilestirmelerle uygulanan cesitlerini karsilastirir.
Iki sirali listeyi dugumleri veya elemanlari sirayla secerek tek sirali listeye donusturen merge alt yordamidir.
Heuristik fonksiyon kullanarak hedef odaklı en kısa yol bulan, oyun ve robotik alanlarında yaygın kullanılan algoritma.
Negatif ağırlıklı kenarları olan graflarda en kısa yolları bulan ve negatif çevrimleri tespit eden algoritma.
Grafı seviye seviye dolaşan, en kısa yolu bulma ve seviye tabanlı işlemlerde kullanılan algoritma.
Grafı derinlemesine dolaşan, bağlantılı bileşenler ve çevrim tespitinde kullanılan algoritma.
Bir düğümden diğer tüm düğümlere olan en kısa yolları bulan, ağırlıklı graflarda kullanılan algoritma.
Tüm düğüm çiftleri arasındaki en kısa yolları bulan, dinamik programlama tabanlı algoritma.
Kenar tabanlı yaklaşımla minimum yayılma ağacı bulan, Union-Find veri yapısını kullanan algoritma.
Düğüm tabanlı yaklaşımla minimum yayılma ağacı bulan, öncelik kuyruğu kullanan algoritma.
Ağaçta BFS, Öncelik Öncelikli Dolaşma (PFS), Seyrek/Yoğun PFS ve Çevrim Testi algoritmalarını içerir.
En Kısa Yol Yazdırma (Shortest Path Printing) ve Öklid MST (Euclidean Minimum Spanning Tree) varyantlarını içerir.
Ford-Fulkerson Maksimum Akış ve Maksimum Akış / Minimum Kesik (Max-Flow/Min-Cut) şemalarını içerir.
İki Parçalı Eşleştirme (Bipartite Matching), Maksimal/Maksimum/Ağırlıklı Eşleştirme ve Kararlı Evlilik (Stable Marriage) problemlerini içerir.
Grafı M renkle boyama problemini geri izleme (backtracking) yaklaşımıyla çözümler.
Yonsuz grafi, birbirine yol ile ulasabilen dugum kumelerine ayiran traversal tabanli algoritmadir.
Bir dugum silindiginde grafi ayiran articulation point leri ve iki baglantili bilesenleri DFS low-link degerleriyle bulur.
Yonlu grafin erisilebilirlik matrisini ara dugumleri kademeli ekleyerek hesaplayan dinamik programlama algoritmasidir.
Yonlu grafta her dugum ciftinin birbirine dolayli veya dogrudan ulasip ulasamadigini gosteren kapanis iliskisini hesaplar.
Yonlu grafta her dugumun digerine karsilikli ulasabildigi maksimal dugum kumelerini bulur.
Bir kaynak dugumden grafteki tum diger dugumlere minimum maliyetli yollari hesaplayan problem ailesidir.
Her düğümün en fazla iki çocuğa sahip olduğu, hızlı arama, ekleme ve silme işlemlerine olanak tanıyan hiyerarşik yapı.
Anahtarları değerlere eşleyen, hash fonksiyonu kullanarak sabit zamanlı erişim sağlayan veri yapısı.
Her düğümün veri ve bir sonraki düğüme referans içerdiği dinamik bir veri yapısı.
İlk giren ilk çıkar (FIFO) prensibiyle çalışan, elemanları sırayla işleyen veri yapısı.
Aralık sorguları ve nokta güncellemeleri için optimize edilmiş, logaritmik performans sağlayan ağaç yapısı.
Son giren ilk çıkar (LIFO) prensibiyle çalışan, yalnızca en üstteki elemana erişim sağlayan veri yapısı.
String verilerini verimli şekilde saklamak ve prefix tabanlı aramalar yapmak için kullanılan ağaç yapısı.
Kırmızı-Siyah Ağaç, 2-3 ve 2-3-4 Ağaçları, Dijital Arama Ağacı ve Patricia Ağacı varyantlarını içerir.
ISAM (Dizinli Sıralı Erişim) ve Genişletilebilir Hashing (Extendible Hashing) yöntemlerini içerir.
Doğrusal Sonda (Linear Probing) ve Çift Hashing (Double Hashing) çakışma çözümleme şemalarını içerir.
Diziden yığın oluşturma (Heapify) ve Dolaylı Yığın (Index Heap) işlemlerini içerir.
Hızlı Birleştirme (Quick Union), Ağırlık/Yükseklik Dengeli Union-Find ve Yol Yassılaştırma (Path Compression) işlemlerini içerir.
Eşdeğerlik kümeleri (MFSET), Küme Birleştirme/Bölme (Merge/Split) ve Küme Birleşim/Kesişim işlemlerini içerir.
BST islemlerinden sonra yukseklik farkini en fazla 1 tutmak icin rotasyon yapan kendini dengeleyen agac islemleridir.
Cok yollu dengeli arama agacinda dugum bolme, odunc alma ve birlestirme ile arama agacini disk dostu tutan islemlerdir.
Hash cakismalarini her tablo kovasinda ayri bir liste veya koleksiyon tutarak cozen hashing yontemidir.
Cakisma durumunda ayni tablo icinde yeni hucreler deneyerek anahtari yerlestiren kapali tablo hashing yontemidir.
Yeni elemani heap in sonuna koyup ebeveynleriyle yer degistirerek heap kosulunu yukari dogru onarir.
Kok elemani kaldirip son elemani koke alarak heap kosulunu asagi dogru onaran remove islemleridir.
Heap kosulu kok veya ara dugumde bozuldugunda elemani cocuklariyla karsilastirarak asagi indiren onarim islemidir.
Elemanlari oncelik degerine gore ekleyen, cikaran ve oncelik degisikliginde yeniden konumlandiran soyut veri tipi islemleridir.
Union-Find yapisinda kucuk agaci buyuk agacin kokune baglayarak agac yuksekligini sinirlayan birlestirme stratejisidir.
Find islemi sirasinda ziyaret edilen dugumleri dogrudan koke baglayarak sonraki sorgulari hizlandiran Union-Find optimizasyonudur.
Agac dugumlerini preorder, inorder, postorder, breadth-first veya non-recursive sekillerde sistematik ziyaret etme yontemleridir.
Agac dolasimini cagri yigini yerine acik stack veya kuyruk kullanarak yapan iterative traversal ailesidir.
Kok, sol ve sag alt agac ziyaret sirasini degistirerek agac yapisindan farkli semantik ciktilar ureten temel traversal siralaridir.
Her sayının kendinden önceki iki sayının toplamı olduğu, memoization ile verimli hesaplanabilen dizi.
Belirli bir ağırlık kapasitesindeki çantaya, maksimum değere sahip nesneleri yerleştirme problemi.
İki dizi arasındaki en uzun ortak alt diziyi bulan algoritma.
Anahtar arama olasiliklari bilindiginde beklenen arama maliyeti en dusuk BST yapisini dinamik programlama ile kurar.
Ortak alt problemleri bir kez cozip saklayarak optimal alt yapiya sahip problemleri verimli cozen tasarim yontemidir.
Bir gezginin tum sehirleri bir kez ziyaret edip baslangica dondugu minimum maliyetli turu bulma problemidir.
N adet veziri, birbirlerini tehdit etmeyecek şekilde N×N boyutundaki satranç tahtasına yerleştirme problemi.
Bir dizi içerisindeki sayıların alt kümelerinin toplamının belirli bir değere eşit olup olmadığını bulan algoritma.
Her dugumu tam bir kez ziyaret edip baslangica donen cycle i aday yol uzerinde geri izleme ile arar.
Aday cozum agacini derinlemesine gezip kisitlari ihlal eden dallardan geri donen arama yontemidir.
Nesneleri ağırlık/değer oranına göre sıralayarak çantaya yerleştiren, nesnelerin bölünebilir olduğu çanta problemi çözümü.
Karakterlerin frekanslarına göre değişken uzunluklu kodlar atayan, veri sıkıştırma için kullanılan algoritma.
Dugumleri sirayla gezip komsularinda kullanilmayan en kucuk uygun rengi atayan sezgisel graf renklendirme algoritmasidir.
Her adimda yerel olarak en iyi gorunen secimi yaparak global cozum kurmaya calisan algoritma tasarim yontemidir.
İki veya daha fazla sayının en büyük ortak bölenini bulan etkili bir algoritma.
Belirli bir sayıya kadar olan tüm asal sayıları hızlı bir şekilde bulan algoritma.
Bir sayının asal olup olmadığını sınayan temel ve optimize edilmiş bölünebilirlik testidir.
Bir sayıyı 10 tabanından başka bir tabana (örneğin ikili taban - ToBinary) bölme-kalan yöntemiyle dönüştürür.
Bir sayının faktöriyelini (1'den n'e kadar olan sayıların çarpımı) iteratif ve recursive yöntemlerle hesaplar.
Bir taban sayının belirtilen üssünü böl-ve-fethet (Binary Exponentiation) yöntemiyle logaritmik zamanda hesaplar.
Polinomlar üzerinde Değerleme (Horner Yöntemi), Naive Çarpma, Seyrek Toplama ve Lagrange İnterpolasyonu işlemlerini gerçekleştirir.
Matrisler üzerinde Matris Toplama ve Matris-Vektör Çarpımı işlemlerini verimli şekilde gerçekleştirir.
Doğrusal denklem sistemlerini çözmek için İleri Eliminasyon, Geri Yerine Koyma ve Gauss-Jordan yöntemlerini kullanır.
Veri noktalarından yumuşak geçişli eğriler üretmek için Spline İnterpolasyonu ve En Küçük Kareler Uyumu yöntemlerini kullanır.
Belirli bir integralin değerini hesaplamak için Dikdörtgen, Yamuk, Simpson, Romberg, Adaptif ve Spline yöntemlerini kullanır.
Sözde rastgele sayılar üretmek için Doğrusal Eşlik (LCG), Toplamsal Eşlik (Lagged Fibonacci), LFSR ve Chi-Square testini içerir.
Iki matrisi satir-sutun carpimlariyla birlestirerek yeni bir matris ureten temel sayisal algoritmadir.
Kare matris carpimini 8 yerine 7 alt carpima indirerek klasik yontemden asimptotik olarak daha hizli yapan bol-ve-fethet algoritmasidir.
Buyuk asal sayilar, moduler us alma ve ters alma uzerine kurulu acik anahtarli sifreleme yontemidir.
Önek tablosu kullanarak metinde desen aramayı verimli hale getiren string eşleştirme algoritması.
Metin içerisinde desen aramak için hash değerlerini kullanan string eşleştirme algoritması.
Kaba kuvvet, Boyer-Moore varyantları, Durum Makinesi, NFA simülasyonu ve düzenli ifade eşleştirmelerini içerir.
Aşağıdan yukarıya, Kaydır-İndirge ve yukarıdan aşağıya (recursive descent) ifade/terim/faktör ayrıştırma yöntemlerini içerir.
RLE (Run-Length Encoding) ve Değişken Uzunluklu (Huffman vb.) kodlama sıkıştırma algoritmalarını içerir.
Sezar, Vigenere, Vernam (One-Time Pad) ve Çarpım (Substitution+Transposition) şifreleme yöntemlerini içerir.
Gramerdeki her nonterminal icin bir fonksiyon yazarak girdiyi yukaridan asagi ayrıştıran parser yontemidir.
Sağdan sola tarama yaparak ve kötü karakter kuralını kullanarak hızlı string eşleştirme algoritması.
Z-array kullanarak metin içerisinde desen bulma işlemini gerçekleştiren algoritma.
Bağlı listelerde döngüleri bulmak için kullanılan verimli bir algoritma. 'Tortoise and Hare' olarak da bilinir.
Yönlü asiklik graflarda (DAG) düğümleri bağımlılıklarına göre sıralayan algoritma.
Arama uzayini dallandirip umut vermeyen alt problemleri alt/ust sinirlarla eleyen optimizasyon stratejisidir.
Arama agacinda cozum uretmeyecegi veya mevcut en iyiyi iyilestiremeyecegi bilinen dallari erken kesme teknigidir.
Birden fazla secenegi kuramsal olarak ayni anda deneyebilen modelle tanimlanan, NP analizinde kullanilan algoritma fikridir.
Problemi ayni tipte daha kucuk alt problemlere bolen, alt problemleri cozen ve sonuclari birlestiren tasarim paradigmasidir.
Diziyi iki parçaya bölen, her parçayı sıralayan ve sonra birleştiren etkili bir sıralama algoritması.
Pivot seçerek diziyi bölen ve her bölümü tekrar eden şekilde sıralayan hızlı sıralama algoritması.
Sıralı dizilerde, her adımda arama alanını yarıya indirerek logaritmik zamanda arama yapan algoritma.
Bresenham çizgi çizme, çizgi kesişimleri, dikdörtgen kesişimleri ve çember çakışmalarını içerir.
Noktanın dikdörtgen veya çokgen içinde olup olmadığını sorgulayan Ray Casting algoritmasını içerir.
Graham Scan ve Jarvis March (Gift Wrapping) dış bükey gövde bulma algoritmalarını içerir.
Nokta kümeleri arasında en yakın çifti (Closest Pair) bulmak için Böl ve Fethet algoritmasını içerir.
2D-Ağaç (2D-Tree) kurulumu ve dikdörtgensel bölge arama (Range Search) algoritmalarını içerir.
FIFO, LIFO ve Least-Cost arama stratejileri ile dallanıp sınırlandırma (Branch and Bound) algoritmasını içerir.
TSP çözümü için yerel arama (Local Search), 2-Opt yerel iyileştirmesi, Kapsamlı Arama ve Yaklaşıklık algoritmalarını içerir.
Sınırlı (Bounded), Sınırsız (Unbounded), Dallanıp Sınırlandırmalı ve Nondeterministik (DKP) çanta problemlerini içerir.
Teslim Tarihli İş Sıralama (Job Sequencing), Matris Zincir Çarpımı ve Sistem Güvenilirlik Tasarımı algoritmalarını içerir.
Çok aşamalı graflarda en kısa yolu bulmak için İleri Akış (Fgraph) ve Geri Akış (Bgraph) dinamik programlama algoritmalarını içerir.
M-Boyama backtracking algoritması, Cook Teoremi ve DPLL tabanlı SAT Çözücü simülasyonunu içerir.
Sinyal işleme ve polinom çarpımlarında kullanılan O(n log n) Cooley-Tukey FFT ve ters FFT simülasyonunu içerir.
Batcher Odd-Even Merge, Bitonic Sort sıralama ağları ve mükemmel karıştırma (Perfect Shuffle) simülasyonunu içerir.
Karatsuba Hızlı Çarpımı, Hanoi Kuleleri, Lig Usulü Turnuva (Round-Robin) ve Çokgen Triangulation çözümlerini içerir.
Doğrusal optimizasyon için Simplex pivot adımları, Bland kuralı ve Steepest Descent gradyan inişi simülasyonunu içerir.
GC İşaretleme (Mark-Sweep), non-recursive işaretleme, Buddy bellek yönetimi ve boş blok birleştirme simülasyonunu içerir.