Bilgisayar Bilimi'nde, öğrendiğiniz kavramlar size gösterene kadar faydası olmayacak. Sorun çözülmesi gereken asıl meseledir, bu yüzden algoritma sorunun genel olarak nasıl çözüleceğine dair kısa bir planlamadır. Bu nedenle Bilgisayar Bilimi dünyasında büyük endişe vericidir.
Bilgisayar Biliminin neredeyse her yönünün Algoritmaya ihtiyacı olduğunu düşünüyorum Size şunu göstereyim: Aşağıdaki liste çeşitli Bilgisayar Bilimleri alanlarını ve kullandıkları algoritmaları içerecektir.
Otomata
Powerset yapımı. Belirleyici olmayan otomatları deterministik otomatlara dönüştürecek algoritma.
Todd-Coxeter algoritması. Cosets üretme prosedürü.
Yapay zeka
Alfa beta. Alfa max artı beta min. Tahta oyunlarında yaygın olarak kullanılır.
Ant-algoritmalar. Karınca kolonisi optimizasyonu, bir sorunu çözmek, iki konum arasındaki en iyi yolu bulmak için karınca davranışından ilham alan bir dizi algoritmadır.
DE (Diferansiyel evrim). Chebyshev polinomu uydurma problemini çözün.
Çevrimiçi Ürün İncelemelerinde Alaycı Cümlelerin Yarı Denetimli Tanınması . Bir tweet veya çevrimiçi bir belgede sakarlıkları veya ironiyi tanıyan algortitma. Bu tür bir algoritma insansı robotların programlanması için de gerekli olacaktır.
Bilgisayar görüşü
Somut örnek. Bir görüntü veya videoyu daha küçük bir görüntüyle temsil edin.
Görüntüdeki nesneleri sayma . Her bir nesneyi önce etiketlemek ve sonra nesneleri saymak için bağlı bileşen etiketleme algoritmasını kullanır.
O'Carroll algoritması. Böcek vizyonunun matematiksel dönüşümünden, bu algoritma nesnelerin nasıl önlenebileceğini değerlendirir.
Genetik algoritmalar
Üç operatör kullanıyorlar. seçim (çözelti seç), çoğaltma (diğerlerini inşa etmek için seçilen çözeltileri kullan), değiştir (daha iyiyse çözeltiyi değiştir).
Spor orantılı seçim. Rulet tekerleği seçimi olarak da bilinen, çözümleri seçmek için kullanılan bir fonksiyondur.
Kısaltma seçimi. Uygunluğa göre sıralanan çözümlerin seçilmesi için başka bir yöntem.
Turnuva seçimi Bir tür turnuvaya göre en iyi çözümü seçin.
Stokastik evrensel örnekleme. Bireyler, bir hattın bitişik bölümleri ile eşleştirilir, öyle ki her bireyin bölümü, tam olarak rulet tekerleği seçiminde olduğu gibi uygunluğuna eşit olacaktır.
Nöral ağlar
Hopfield ağı. İkili eşik birimlerine sahip, adreslenebilir bellek sistemleri olarak hizmet veren tekrarlayan yapay sinir ağı. Kararlı bir duruma yaklaşırlar.
Backpropagation. Yapay sinir ağlarının eğitimi için kullanılan denetimli öğrenme tekniği.
Kendini organize eden harita (Kohonen haritası). Yapay sinir ağları, eğitim örneklerinin düşük boyutlu (2B, 3B) gösterimini sağlamak için denetimsiz öğrenme kullanılarak eğitildi. Yüksek boyutlu verileri görselleştirmek için iyi.
Biyoinformatik
Needleman-Wunsch. Protein veya nükleotit sekansları için iki sekans üzerinde global bir hizalama gerçekleştirir.
Smith-Waterman. Needleman-Wunsch'un Değişimi.
Sıkıştırma
Kayıpsız sıkıştırma algoritmaları
Burrows-Wheeler dönüşümü. Ön işleme, kayıpsız sıkıştırmayı geliştirmek için yararlıdır.
Deflate. ZIP tarafından kullanılan veri sıkıştırma.
Delta kodlaması. Sıralı verilerin sık sık oluştuğu verilerin sıkıştırılmasına yardım eder.
Artımlı kodlama. Dizi dizilerine uygulanan Delta kodlaması.
LZW. (Lempel-Ziv-Welch). LZ78'in halefi. Sıkıştırılacak verilerden bir çeviri tablosu oluşturur. GIF grafik formatı tarafından kullanılır.
LZ77 ve 78. Diğer LZ varyasyonlarının temeli (LZW, LZSS, ...). Her ikisi de sözlük kodlayıcıdır.
LZMA. Lempel-Ziv-Markov zinciri-Algoritması için kısa.
LZO. Hız odaklı veri sıkıştırma algoritması.
PPMKısmi Eşleşmeyle Tahmin. Bağlam modelleme ve tahmine dayalı uyarlanabilir istatistiksel veri sıkıştırma tekniği. Shannon-Fano kodlaması. Bir dizi simge ve olasılıklarını temel alan önek kodları oluşturur.
Kesilmiş ikili. Sonlu bir alfabeyle tek tip olasılık dağılımları için kullanılan bir entropi kodlaması. İkili kodlamayı iyileştirin.
Çalışma uzunluğu kodlaması. Oluşum sayısına göre aynı kod dizisini değiştiren birincil sıkıştırma.
Sequitur. Bir dize üzerinde artan gramer çıkarımı.
EZW (Dahili Sıfır Dalgalı Dalgalı). Bir görüntüyü artan doğrulukla bir bit akışına sıkıştırmak için aşamalı kodlama. Daha iyi sonuçlarla da kayıplı sıkıştırma olabilir.
Entropy kodlama
Kod uzunluklarını sembollerin olasılıklarıyla eşleştirmek için sembollere kod atayan kodlama şeması.
Huffman kodlaması. Bağıl karakter frekanslarından yararlanan basit kayıpsız sıkıştırma.
Uyarlanabilir Huffman kodlaması. Huffman kodlamasına dayanan uyarlamalı kodlama tekniği.
Aritmetik kodlama. Gelişmiş entropi kodlaması.
Aralık kodlaması. Aritmetik kodlama ile aynı, ancak biraz farklı bir şekilde baktı.
Tekli kodlama. N ile bir sayıyı temsil eden kod, ardından sıfır ile bir sayı. Elias delta, gama, omega kodlaması. Pozitif tamsayıları kodlayan evrensel kod. Fibonacci kodlaması. Pozitif tamsayıları ikili kod kelimelerine kodlayan evrensel kod.
Golomb kodlaması. Geometrik dağılımları takip eden alfabe için en uygun entropi kodlaması.
Pirinç kodlaması. Geometrik dağılımları takip eden alfabe için en uygun entropi kodlaması.
Kayıplı sıkıştırma algoritmaları
Doğrusal tahmin kodlaması. Dijital bir konuşma sinyalinin spektral zarfını sıkıştırılmış biçimde gösteren, kayıplı sıkıştırma.
A-yasa algoritması. Standart sıkıştırma algoritması.
Mu-hukuk algoritması. Standart analog sinyal sıkıştırma veya sıkıştırma algoritması.
Fraktal sıkıştırma Fraktallar kullanarak görüntüleri sıkıştırmak için kullanılan yöntem.
Kodlamayı dönüştürün. Ses sinyalleri veya fotoğraf görüntüleri gibi veriler için veri sıkıştırma türü.
Vektör ölçümü Teknik genellikle kayıplı veri sıkıştırmasında kullanılır.
Dalgacık sıkıştırması. Görüntü ve ses sıkıştırması için çok uygun veri sıkıştırma biçimi.
Kriptografi
Gizli anahtar (simetrik şifreleme)
Hem şifre çözme hem de şifreleme için gizli bir anahtar (veya doğrudan ilişkili bir çift anahtar) kullanın.
Rijndael olarak da bilinen Gelişmiş Şifreleme Standardı (AES) .
Blowfish. Schneier tarafından, genel olarak yaşlanan DE'nin yerine geçmesi amaçlanan bir algoritma olarak tasarlanmıştır.
Veri Şifreleme Standardı (DES) , daha önce DE Algoritması.
FİKİR (Uluslararası Veri Şifreleme Algoritması) . Eskiden IPES (Geliştirilmiş PES), DES için başka bir yedek. PGP (Pretty Good Privacy) tarafından kullanılmaktadır. Bir anahtar kullanarak bloklara bölünmüş verilerde dönüşümler gerçekleştirir.
RC4 veya ARC4. Akış şifresi, Internet trafiği için SSL ve kablosuz ağlar için WEP gibi protokollerde yaygın olarak kullanılır.
Küçük Şifreleme Algoritması. Bazı formüller kullanarak blok şifre algoritması uygulamak kolaydır.
PES (Önerilen Şifreleme Standardı). IDEA için eski isim.
Genel anahtar (asimetrik şifreleme)
Genel anahtar ve özel anahtar olarak belirlenen bir çift anahtar kullanın. Genel anahtar mesajı şifreler, yalnızca özel anahtar şifresini çözmek için izin verir.
DSA (Dijital İmza Algoritması). Asal ve rasgele sayılarla anahtarlar oluşturun. ABD ajansları ve şimdi kamu malı tarafından kullanılıyordu.
ElGamal. GNU Privacy Guard yazılımı, PGP ve diğer şifreleme sistemleri tarafından kullanılan Diffie-Hellman'a dayanmaktadır.
RSA (Rivest, Shamir, Adleman). Elektronik ticaret protokollerinde yaygın olarak kullanılır. Asal sayıları kullanın.
Diffie-Hellman (Merkle) anahtar değişimi (veya üstel anahtar değişimi). Korunmasız bir iletişim kanalı üzerinden sır paylaşma yöntemi ve algoritması. RSA tarafından kullanılır.
NTRUEncrypt. Konvolüsyon çarpımları olan polinom halkalarını kullanın.
Mesaj özeti işlevleri
Bir mesaj özeti, bir dizginin veya herhangi bir uzunlukta bir verinin bir karma işlevi tarafından işlenen şifrelemesinden kaynaklanan bir koddur.
MD5. CD veya DVD'lerin ISO görüntülerini kontrol etmek için kullanılır.
RIPEMD (RACE Bütünlüğü İlkelleri Değerlendirme Mesajı Özet). MD4 ilkelerine dayanır ve SHA-1'e benzer.
SHA-1 (Güvenli Karma Algoritma 1). En sık ilişkili şifreleme hash fonksiyonlarının SHA setinde kullanılır. NSA ajansı tarafından tasarlanmıştır.
HMAC. anahtarlı karma mesaj kimlik doğrulaması.
Kaplan (TTH). Genellikle Tiger ağaç hash'lerinde kullanılır.
Sözde rasgele sayılar kullanarak şifreleme
. Rastgele Sayı Üreticileri
Şifrelemede Teknikler
Gizli paylaşım, Gizli Bölünme, Anahtar Bölünme, N algoritmalarının M'si.
Shamir'in gizli paylaşım programı. Bu polinom interpolasyonu temel alan bir formüldür.
Blakley'in gizli paylaşım planı. Doğada geometrik olan, sır M boyutlu bir uzayda bir noktadır.
Diğer teknikler ve şifre çözme
Alt küme toplamı. Bir tamsayılar kümesi verildiğinde, herhangi bir alt küme toplamı sıfıra eşit midir? Kriptografide kullanılır.
Shor'ın algoritması. Kuantum algoritması, RSA gibi asimetrik fonksiyonlara dayanan bir kodun şifresini çözebilir.
Geometri
Hediye sarma. Bir nokta kümesinin dışbükey kabuğunun belirlenmesi.
Gilbert-Johnson-Keerthi mesafesi. İki dışbükey şekil arasındaki en küçük mesafenin belirlenmesi.
Graham taraması. Düzlemdeki bir nokta kümesinin dışbükey kabuğunun belirlenmesi.
Çizgi segmenti kesişimi. Çizgilerin tarama çizgisi algoritmasıyla kesişip kesişmediğini bulma.
Çokgenin üzerine gelin. Belirli bir noktanın verilen içinde olup olmadığını test eder.
Işın / Düzlem kesişimi.
* Çizgi / Üçgen kesişme * Özel ışın / düzlem kesişme durumu.
Kapalı yüzeylerin çokgenleşmesi. Poligonal gösterimi olan yaklaşık bir yüzey.
Nirengi.Bir noktaya olan mesafeyi açılardan diğer noktalara, uzaklığı bilinenlere göre değerlendirme yöntemi.
Grafikler
3D Yüzey İzleyici Teknolojisi. Gizli yüzeyler dikkate alınırken videolara duvarlara görüntü ekleme işlemi.
Bellman-Ford. Ağırlıklı bir grafikte en kısa yolları hesaplar (kenar ağırlıklarının bir kısmı negatif olabilir).
Dijkstra'nın algoritması. Negatif olmayan kenar ağırlıklarına sahip bir grafikteki en kısa yolları hesaplar.
Pertürbasyon yöntemleri Grafikteki yerel olarak en kısa yolları hesaplayan bir algoritma.
Floyd-Warshall. Tüm çiftlerin en kısa yol problemini ağırlıklı, yönlendirilmiş bir grafikte çözer.
Floyd'un bisiklet bulması. Yinelemelerde döngüleri bulur.
Johnson. Tüm çiftler seyrek ağırlıklı yönlendirilmiş grafikte en kısa yol algoritmasıdır.
Kruskal.Bir grafik için minimum yayılan bir ağaç bulur.
Prim en. Bir grafik için minimum yayılan bir ağaç bulur. Ayrıca DJP, Jarník veya Prim – Jarník algoritması olarak da adlandırılır .
* Boruvka. * Bir grafik için minimum yayılma ağacı bulur.
Ford-Fulkerson. Bir grafikteki maksimum akışı hesaplar.
Edmonds-Karp. Ford-Fulkerson'ın uygulanması.
Blokajsız Minimal Anahtarlama Anahtarı. Telefon değişimi için.
Woodhouse-Sharp. Bir grafik için minimum yayılan bir ağaç bulur.
Bahar dayalı. Grafik çizim algoritması.
Macarca. Mükemmel bir eşleşme bulmak için algoritma.
Boyama algoritması Grafik renklendirme algoritması.
En yakın komşu.En yakın komşuyu bul.
Topolojik sıralama. Yönlendirilmiş bir asiklik grafiği, her bir düğümün kenarları olan tüm düğümlerden önce geleceği şekilde (yönlere göre) sıralayın.
Tarjan'ın çevrimdışı en az yaygın ata algoritması. Bir ağaçtaki düğüm çiftleri için en düşük ortak ataları hesaplayın.
Grafik
Bresenham'ın çizgi algoritması. Karar değişkenlerini, belirtilen 2 nokta arasında düz bir çizgi çizmek için kullanır.
Manzara 3B manzara çizin.
* DDA çizgi algoritması. * Belirtilen 2 nokta arasında düz bir çizgi çizmek için kayan nokta matematiğini kullanır.
Taşkın dolgusu. Bağlı bir bölgeyi renkle doldurur.
Görüntü geri yükleme. Fotoğrafı geri yükle, görüntüleri iyileştir.
Xiaolin Wu'nun çizgi algoritması. Çizgi zehirlenmesi.
Ressamın algoritması. 3 boyutlu bir sahnenin görünür kısımlarını algılar.
Işın izleme. Gerçekçi görüntü işleme.
Phong gölgeleme. 3B bilgisayar grafiklerinde bir aydınlatma modeli ve enterpolasyon yöntemi.
Guraud gölgelendirme.Işık ve rengin farklı etkilerini 3B nesnenin yüzeyinde simüle edin.
Tarama çizgisi oluşturma. Hayali bir çizgiyi hareket ettirerek bir görüntü oluşturur.
Küresel aydınlatma. Doğrudan aydınlatma ve diğer nesnelerin yansımasını dikkate alır.
İnterpolasyon. Dijital zoom gibi yeni veri noktaları oluşturmak.
Resynthesizer. Fotoğraftaki bir nesneyi kaldırın ve Photoshop ve The Gimp tarafından kullanılan arka planı yeniden oluşturun. Resynthesizer öğretici.
Şev-kesişim algoritması. Bir çizgi çizmek için eğim-kesişme formülünün bir uygulamasıdır.
Spline enterpolasyonu. Runge fenomeninde hatayı azaltır.
3B Yüzey İzleyici Teknolojisi. Bir vidéo içindeki duvarlara görüntü veya vidéo eklemek, gizli yüzeyler dikkate alınır.
Listeler, diziler ve ağaçlar
Aranıyor
Sözlük araması. Tahmini aramaya bakın.
Seçim algoritması. Listedeki en büyük öğeyi bulur.
İkili arama algoritması. Sıralanmış listedeki bir öğeyi bulur.
Genişlik-ilk arama. Bir grafik seviyesini seviyeye göre hareket ettirir.
Derinlik öncelikli arama. Bir grafik dalını dallara göre hareket ettirir.
En iyi ilk arama. Öncelik sırasını kullanarak bir grafiği olası önem sırasına göre hareket ettirir.
Bir ağaç araması. * Hızı artırmak için buluşsal yöntemi kullanan en iyi ilk arama özel vakası.
Tekdüze maliyet araştırması. Maliyetlerin değiştiği en düşük maliyet yolunu bulan bir ağaç araması.
Tahmini arama.İkili benzeri arama, arama terimindeki büyüklüğü ve aramadaki yüksek ve düşük değerleri gösterir.
Karma tablo. Doğrusal bir zamanda almak için anahtarları sıralanmamış bir koleksiyondaki öğelere ilişkilendirin.
Enterpolasyonlu arama. Tahmini aramaya bakın.
sınıflandırma
İkili ağaç sıralama. İkilik bir ağacın sıralaması, artımlı, ekleme sırasına benzer.
Saçma sıralama. Masa kartının verimsiz rastgele bir şekilde.
Kabarcık sıralama. Her bir endeks çifti için, sıralı değilse öğeleri değiştirin.
Kova sıralama. Bir listeyi kovalara bölün ve ayrı ayrı sıralayın. Güvercin deliği sıralamasını genelleştirir.
Kokteyl sıralaması (veya çift yönlü balon, çalkalayıcı, dalgalanma, mekik, mutlu saatler sıralama). Her iki yöne göre sıralanan kabarcık türünün çeşitliliği listeden geçer.
Tarak sıralama. “Kaplumbağaları” ortadan kaldıran listenin sonuna yakın küçük değerler ve boşluklardan faydalanan boşluklardan faydalanan etkili kabarcık çeşitliliği.
Sıralama sayma.Bu uzunluktaki bir B dizisini oluşturmak için A listesindeki sayı dizisini kullanır. B'deki indeksler, A'daki kaç elementin i'den daha düşük bir değere sahip olduğunu saymak için kullanılır.
Gnome tür. Ekleme düzenine benzer şekilde, bir elemanın uygun yerine taşınması dışında, kabarcık düzeninde olduğu gibi bir dizi değiş tokuş gerçekleştirilir.
Heapsort. Listeyi bir yığına dönüştürün, en büyük öğeyi yığından kaldırmaya ve listenin sonuna eklemeye devam edin.
Ekleme sıralama Geçerli öğenin sıralananlar listesinde nereye ait olduğunu belirleyin ve buraya yerleştirin.
İçgözlemle sıralama. Ya da introspektif sıralama. Quicksort ile başlar ve belirli bir özyineleme düzeyinde heapsort'a geçer.
Birleştirme sıralaması.Listenin birinci ve ikinci yarısını ayrı ayrı sıralayın, ardından sıralanan listeleri birleştirin.
Krep sıralaması. Bir dizinin bazı öneki öğelerinin tersi.
Güvercin yuvası sıralama. Boş bir diziyi, sıralanacak dizinin tüm unsurları ile doldurun.
Postacı sıralama. Postaneler tarafından kullanılan hiyerarşik kova çeşitleri.
Hızlı sıralama. İlk listedeki tüm öğeler ikinci listedeki tüm öğelerden önce gelecek şekilde listeyi ikiye bölün .; sonra iki listeyi sıralayın. Genellikle tercih edilen yöntem.
Radix sıralama. Rakamları işleyerek, öğelere veya tam sayıya bağlı anahtarları sıralar.
Seçim sırası Kalan öğelerin en küçüğünü seçin, sıralanan listenin sonuna ekleyin.
Kabuk sıralaması.Değerler arasındaki boşlukların kullanılmasıyla ekleme düzenini geliştirir.
Rahat sıralama. Heapsort'a bakınız.
Stokastik sıralama. Bogosort'a bakınız.
ve daha fazlası...