W informatyce, jakich pojęć się nauczysz, nie przydadzą się, dopóki ich nie pokażesz. Problem jest głównym problemem, który należy rozwiązać, więc algorytm jest krótkim planowaniem, w jaki sposób problem zostanie rozwiązany w ogóle. Dlatego jest to poważny problem w świecie informatyki.
Myślę, że prawie każdy aspekt informatyki potrzebuje algorytmu Pozwól, że ci to pokażę Poniższa lista zawiera różne obszary informatyki i stosowane przez nich algorytmy.
Automaty
Budowa zestawu zasilającego. Algorytm przekształcenia niedeterministycznego automatu w deterministyczny.
Algorytm Todda-Coxetera. Procedura generowania cosets.
Sztuczna inteligencja
Alpha beta. Alpha max plus beta min. Szeroko stosowany w grach planszowych.
Algorytmy mrówek. Optymalizacja kolonii mrówek to zestaw algorytmów zainspirowanych zachowaniem mrówek w celu rozwiązania problemu, znalezienia najlepszej ścieżki między dwiema lokalizacjami.
DE (Ewolucja różnicowa). Rozwiąż problem dopasowania wielomianowego Czebyszewa.
Ujęcie częściowo nadzorowane zdań sarkastycznych w internetowych recenzjach produktów. Algortithm, który rozpoznaje sacarsms lub ironię w tweecie lub dokumencie internetowym. Taki algorytm będzie również niezbędny do programowania robotów humanoidalnych.
Wizja komputerowa
Skrót. Reprezentuj obraz lub wideo przez mniejszy.
Zliczanie obiektów na obrazie . Używa algorytmu etykietowania podłączonego komponentu, aby najpierw oznaczyć etykietą każdy obiekt, a następnie policzyć, a następnie obiekty.
Algorytm O'Carroll. Na podstawie matematycznej konwersji widzenia owadów algorytm ocenia, jak ominąć obiekty.
Algorytmy genetyczne
Używają trzech operatorów. wybór (wybierz rozwiązanie), reprodukcja (użyj wybranych rozwiązań, aby skonstruować inne), zamiana (wymień rozwiązanie, jeśli jest lepsze).
Wybór proporcjonalny do kondycji. Znany również jako wybór koła ruletki, jest funkcją służącą do wybierania rozwiązań.
Wybór obcięcia. Kolejna metoda wyboru rozwiązań, uporządkowana według sprawności.
Wybór turnieju. Wybierz najlepsze rozwiązanie według rodzaju turnieju.
Stochastyczne uniwersalne pobieranie próbek. Poszczególne osoby są odwzorowane na ciągłe odcinki linii, dzięki czemu odcinek każdego z osobna ma taką samą wielkość jak jego przydatność dokładnie tak, jak przy wyborze koła ruletki.
Sieci neuronowe
Siatka Hopfield. Nawracająca sztuczna sieć neuronowa, która służy jako adresowalne systemy pamięci z binarnymi jednostkami progowymi. Konwergują się w stan stabilny.
Propagacja wsteczna. Nadzorowana technika uczenia stosowana do szkolenia sztucznych sieci neuronowych.
Mapa samoorganizująca się (mapa Kohonen). Sieci neuronowe wyszkolone przy użyciu uczenia bez nadzoru w celu uzyskania reprezentacji próbek treningowych w niskim wymiarze (2D, 3D). Dobry do wizualizacji danych wielowymiarowych.
Bioinformatyka
Needleman-Wunsch. Wykonuje globalne dopasowanie dla dwóch sekwencji, dla sekwencji białkowych lub nukleotydowych.
Smith-Waterman. Wariacja Needlemana-Wunscha.
Kompresja
Algorytmy kompresji bezstratnej
Transformacja Burrowsa-Wheelera. Wstępne przetwarzanie przydatne w celu poprawy bezstratnej kompresji.
Siadać. Kompresja danych używana przez ZIP.
Kodowanie Delta. Pomoc na kompresję danych, w których często występują dane sekwencyjne.
Kodowanie przyrostowe. Kodowanie delta stosowane do sekwencji ciągów.
LZW. (Lempel-Ziv-Welch). Następca LZ78. Tworzy tabelę translacji z danych do kompresji. Jest używany przez format graficzny GIF.
LZ77 i 78. Podstawa dalszych wariantów LZ (LZW, LZSS, ...). Obaj są koderami słownikowymi.
LZMA. Skrót od algorytmu łańcuchowego Lempel-Ziv-Markov.
LZO. Algorytm kompresji danych skoncentrowany na szybkości.
PPM(Prognozowanie przez częściowe dopasowanie). Adaptacyjna technika kompresji danych statystycznych oparta na modelowaniu i prognozowaniu kontekstowym. Kodowanie Shannon-Fano. Konstruuje kody prefiksów na podstawie zestawu symboli i ich prawdopodobieństw.
Obcięty plik binarny. Kodowanie entropijne zwykle stosowane do jednolitych rozkładów prawdopodobieństwa za pomocą skończonego alfabetu. Popraw kodowanie binarne.
Kodowanie długości przebiegu. Podstawowa kompresja, która zastępuje sekwencję tego samego kodu liczbą wystąpień.
Sequitur. Inkrementalne wnioskowanie gramatyczne na łańcuchu.
EZW (Embedded Zerotree Wavelet). Progresywne kodowanie w celu kompresji obrazu do strumienia bitów ze zwiększającą się dokładnością. Może być kompresją stratną również z lepszymi wynikami.
Kodowanie entropii
Schemat kodowania, który przypisuje kody do symboli, aby dopasować długości kodu do prawdopodobieństwa symboli.
Kodowanie Huffmana. Prosta kompresja bezstratna wykorzystująca względne częstotliwości znaków.
Adaptacyjne kodowanie Huffmana. Technika kodowania adaptacyjnego oparta na kodowaniu Huffmana.
Kodowanie arytmetyczne. Zaawansowane kodowanie entropijne.
Kodowanie zakresu. To samo co kodowanie arytmetyczne, ale spojrzał na to nieco inaczej.
Jednoznaczne kodowanie. Kod reprezentujący liczbę n z n, po których następuje zero. Kodowanie Delta, gamma, omega. Uniwersalny kod kodujący dodatnie liczby całkowite. Kodowanie Fibonacciego. Uniwersalny kod, który koduje dodatnie liczby całkowite w binarnych słowach kodowych.
Kodowanie Golomb. Forma kodowania entropijnego, która jest optymalna dla alfabetów po rozkładach geometrycznych.
Kodowanie ryżu. Forma kodowania entropijnego, która jest optymalna dla alfabetów po rozkładach geometrycznych.
Algorytmy kompresji stratnej
Liniowe kodowanie predykcyjne. Kompresja stratna reprezentująca obwiednię widmową cyfrowego sygnału mowy w formie skompresowanej.
Algorytm A-law. Standardowy algorytm towarzyszący.
Algorytm Mu-law. Standardowy algorytm kompresji lub kompandowania sygnału analogowego.
Kompresja fraktalna. Metoda stosowana do kompresji obrazów za pomocą fraktali.
Przekształć kodowanie. Rodzaj kompresji danych dla danych takich jak sygnały audio lub obrazy fotograficzne.
Kwantyzacja wektorowa. Technika często stosowana w stratnej kompresji danych.
Kompresja falkowa. Forma kompresji danych dobrze dostosowana do kompresji obrazu i dźwięku.
Kryptografia
Tajny klucz (szyfrowanie symetryczne)
Użyj tajnego klucza (lub pary bezpośrednio powiązanych kluczy) zarówno do deszyfrowania, jak i szyfrowania.
Advanced Encryption Standard (AES) , znany również jako Rijndael.
Blowfish. Zaprojektowany przez Schneiera jako algorytm ogólnego przeznaczenia, przeznaczony jako zamiennik starzejącego się DE.
Data Encryption Standard (DES) , wcześniej DE Algorytm.
IDEA (międzynarodowy algorytm szyfrowania danych) . Poprzednio IPES (Improved PES), kolejny zamiennik DES. Jest używany przez PGP (Pretty Good Privacy). Wykonuje transformacje danych podzielonych na bloki, używając klucza.
RC4 lub ARC4. Szyfrowanie strumieniowe powszechnie stosowane w protokołach, takich jak SSL dla ruchu internetowego i WEP dla sieci bezprzewodowych.
Mały algorytm szyfrowania. Łatwy do wdrożenia algorytm szyfru blokowego przy użyciu niektórych wzorów.
PES (proponowany standard szyfrowania). Starsza nazwa IDEA.
Klucz publiczny (szyfrowanie asymetryczne)
Użyj pary kluczy oznaczonych jako klucz publiczny i klucz prywatny. Klucz publiczny szyfruje wiadomość, tylko klucz prywatny pozwala ją odszyfrować.
DSA (algorytm podpisu cyfrowego). Generuj klucze z liczbami pierwszymi i losowymi. Był używany przez agencje amerykańskie, a teraz jest własnością publiczną.
ElGamal. Na podstawie Diffie-Hellman, używanego przez oprogramowanie GNU Privacy Guard, PGP i inne systemy kryptograficzne.
RSA (Rivest, Shamir, Adleman). Szeroko stosowany w protokołach handlu elektronicznego. Użyj liczb pierwszych.
Wymiana kluczy Diffie-Hellman (Merkle) (lub wykładnicza wymiana kluczy). Metoda i algorytm współdzielenia tajnego klucza przez niezabezpieczony kanał komunikacyjny. Używany przez RSA.
NTRUEncrypt. Użyj pierścieni wielomianów z mnożeniem splotowym.
Funkcje podsumowania wiadomości
Skrót wiadomości to kod wynikający z szyfrowania łańcucha lub danych o dowolnej długości, przetwarzany przez funkcję skrótu.
MD5. Służy do sprawdzania obrazów ISO dysków CD lub DVD.
RIPEMD (RACE Integrity Primitive Evaluation Message Digest). Oparty na zasadach MD4 i podobnych do SHA-1.
SHA-1 (Bezpieczny algorytm mieszania 1). Najczęściej używany zestaw powiązanych funkcji kryptograficznych SHA. Został zaprojektowany przez agencję NSA.
HMAC. uwierzytelnianie wiadomości z kluczem mieszającym.
Tygrys (TTH). Zwykle używany w hashach drzew Tygrysów.
Kryptograficzne z wykorzystaniem liczb pseudolosowych
Zobacz. Generatory liczb losowych
Techniki w kryptografii
Tajne dzielenie, Tajne dzielenie, Dzielenie klawiszy, M z N algorytmów.
Tajny program Shamira. Jest to formuła oparta na interpolacji wielomianowej.
Tajny plan dzielenia się Blakleya. Ma charakter geometryczny, tajemnicą jest punkt w przestrzeni m-wymiarowej.
Inne techniki i deszyfrowanie
Podzbiór sumy. Biorąc pod uwagę zestaw liczb całkowitych, czy jakaś suma podzbioru jest równa zero? Używany w kryptografii.
Algorytm Shora. Algorytm kwantowy zdolny do odszyfrowania kodu w oparciu o funkcje asymetryczne, takie jak RSA.
Geometria
Pakowanie prezentów. Określenie wypukłego kadłuba zestawu punktów.
Odległość Gilberta-Johnsona-Keerthi. Określenie najmniejszej odległości między dwoma wypukłymi kształtami.
Skan Grahama. Określanie wypukłego kadłuba zestawu punktów w płaszczyźnie.
Przecięcie segmentu linii. Sprawdzanie, czy linie przecinają się z algorytmem linii przeciągnięcia.
Punkt w wielokącie. Sprawdza, czy dany punkt mieści się w danym.
Przecięcie promienia / płaszczyzny.
* Przecięcie linii / trójkąta. * Szczególny przypadek przecięcia promienia / płaszczyzny.
Poligonizacja niejawnych powierzchni. Przybliż powierzchnię niejawną z reprezentacją wielokąta.
Triangulacja.Metoda oceny odległości do punktu od kątów do innych punktów, których odległość jest znana.
Wykresy
Technologia 3D Surface Tracker. Proces dodawania obrazów do ścian w filmie, z uwzględnieniem ukrytych powierzchni.
Bellman-Ford. Oblicza najkrótsze ścieżki na wykresie ważonym (gdzie niektóre grubości krawędzi mogą być ujemne).
Algorytm Dijkstry. Oblicza najkrótsze ścieżki na wykresie z nieujemnymi wagami krawędzi.
Metody perturbacji. Algorytm obliczający lokalnie najkrótsze ścieżki na wykresie.
Floyd-Warshall. Rozwiązuje problem najkrótszej ścieżki wszystkich par na ważonym, ukierunkowanym wykresie.
Odkrycie cyklu Floyda. Znajduje cykle w iteracjach.
Johnson. Algorytm najkrótszej ścieżki wszystkich par na rzadkim, ważonym grafie.
Kruskal.Znajduje minimalne drzewo rozpinające dla wykresu.
Prim's. Znajduje minimalne drzewo rozpinające dla wykresu. Nazywany również algorytmem DJP, Jarník lub Prim – Jarník.
* Boruvka. * Znajduje minimalne drzewo rozpinające dla wykresu.
Ford-Fulkerson. Oblicza maksymalny przepływ na wykresie.
Edmonds-Karp. Wdrożenie Ford-Fulkerson.
Nieblokujący przełącznik minimalnego zakresu. Do centrali telefonicznej.
Woodhouse-Sharp. Znajduje minimalne drzewo rozpinające dla wykresu.
Na bazie wiosny Algorytm do rysowania wykresów.
Język węgierski. Algorytm znajdowania idealnego dopasowania.
Algorytm kolorowania. Algorytm kolorowania wykresów.
Najbliższy sąsiadZnajdź najbliższego sąsiada.
Sortowanie topologiczne. Posortuj ukierunkowany wykres acykliczny w taki sposób, aby każdy węzeł znajdował się przed wszystkimi węzłami, do których ma krawędzie (zgodnie ze wskazówkami).
Algorytm najmniej popularnych przodków Tarjana off-line. Oblicz najniższe wspólne przodki dla par węzłów w drzewie.
Grafika
Algorytm linii Bresenhama. Wykorzystuje zmienne decyzyjne do kreślenia linii prostej między 2 określonymi punktami.
Krajobraz Narysuj scenerię 3D.
* Algorytm linii DDA. * Wykorzystuje matematykę zmiennoprzecinkową do kreślenia linii prostej między 2 określonymi punktami.
Wypełnienie. Wypełnia połączony region kolorem.
Przywracanie obrazu. Przywróć zdjęcie, popraw obrazy.
Algorytm linii Xiaolin Wu. Antyaliasing linii.
Algorytm malarza. Wykrywa widoczne części trójwymiarowej scenerii.
Śledzenie promieni. Realistyczne renderowanie obrazu.
Cieniowanie Phong. Model oświetlenia i metoda interpolacji w grafice komputerowej 3D.
Cieniowanie Gourauda.Symuluj różne efekty światła i koloru na powierzchni obiektu 3D.
Renderowanie linii Konstruuje obraz, przesuwając fikcyjną linię.
Globalne oświetlenie. Rozważa bezpośrednie oświetlenie i odbicie od innych przedmiotów.
Interpolacja. Konstruowanie nowych punktów danych, takich jak zoom cyfrowy.
Resyntezator. Usuń obiekt ze zdjęcia i odbuduj tło używane przez Photoshopa i Gimpa. Samouczek Resynthesizera.
Algorytm przechwytywania zbocza. Jest to implementacja wzoru przechwytywania nachylenia do rysowania linii.
Interpolacja splajnu. Zmniejsza błąd ze zjawiskiem Runge.
Technologia 3D Surface Tracker. Dodawanie zdjęć lub wideo na ścianach w wideo, z uwzględnieniem ukrytych powierzchni.
Listy, tablice i drzewa
Badawczy
Wyszukiwanie w słowniku Zobacz wyszukiwanie predykcyjne.
Algorytm wyboru Znajduje k-tą największą pozycję na liście.
Algorytm wyszukiwania binarnego. Lokalizuje element na posortowanej liście.
Pierwsze wyszukiwanie szerokości. Przemieszcza wykres poziom po poziomie.
Głębokie wyszukiwanie. Przemieszcza wykres gałąź po gałęzi.
Najlepsze wyszukiwanie Przechodzi przez wykres w kolejności prawdopodobnego znaczenia przy użyciu kolejki priorytetowej.
Wyszukiwania drzewo. * Specjalny przypadek najlepiej pierwszego wyszukiwania, który używa heurystyki w celu poprawy szybkości.
Wyszukiwanie według jednolitych kosztów. Wyszukiwanie drzewa, które wyszukuje trasę o najniższym koszcie, gdzie koszty są różne.
Wyszukiwanie predykcyjne.Wyszukiwanie binarne, które uwzględnia wielkość wyszukiwanego hasła w porównaniu do wysokich i niskich wartości w wyszukiwaniu.
Stół Hash. Kojarz klucze z elementami w nieposortowanej kolekcji, aby odzyskać je w czasie liniowym.
Wyszukiwanie interpolowane. Zobacz wyszukiwanie predykcyjne.
Sortowanie
Sortowanie według drzewa binarnego. Rodzaj drzewa binarnego, przyrostowy, podobny do sortowania przez wstawianie.
Bogosort. Niewystarczająca losowa karta biurkowa.
Sortowanie bąbelkowe. Dla każdej pary indeksów zamień elementy, jeśli są nieczynne.
Sortowanie wiader. Podziel listę na segmenty i posortuj je indywidualnie. Uogólnia sortowanie szuflad.
Sortowanie koktajlowe (lub dwukierunkowe bąbelki, shaker, marszczyć, transfer, sortowanie happy hour). Odmiana sortowania bąbelkowego, która sortuje się w obu kierunkach, przechodzi przez listę.
Sortuj według rodzaju grzebienia. Efektywna odmiana sortowania bąbelkowego, która eliminuje „żółwie”, małe wartości na końcu listy i wykorzystuje luki między wartościami.
Liczenie sortuj.Wykorzystuje zakres liczb na liście A, aby utworzyć tablicę B o tej długości. Indeksy w B są używane do zliczania, ile elementów w A ma wartość mniejszą niż i.
Sortuj według gnomów. Podobne do sortowania przez wstawianie, z tym wyjątkiem, że przenoszenie elementu na właściwe miejsce odbywa się poprzez serię zamian, jak w przypadku sortowania bąbelkowego.
Heapsort. Konwertuj listę na stertę, wciąż usuwaj największy element ze sterty i dodając ją na końcu listy.
Sortowanie przez wstawianie. Określ, gdzie należy bieżący element na liście posortowanych i wstaw go tam.
Introsort. Lub introspekcyjne. Zaczyna się od szybkiego sortowania i przełącza na heapsort na pewnym poziomie rekurencji.
Scal sortuj.Sortuj pierwszą i drugą połowę listy osobno, a następnie scal posortowane listy.
Sortuj naleśniki. Odwróć elementy niektórych prefiksów sekwencji.
Rodzaj Pigeonhole. Wypełnij pustą tablicę wszystkimi elementami tablicy do sortowania, w kolejności.
Sortowanie listonoszy. Hierarchiczny wariant sortowania kubełkowego, stosowany przez urzędy pocztowe.
Szybkie sortowanie. Podziel listę na dwie części, wszystkie pozycje na pierwszej liście będą znajdować się przed wszystkimi pozycjami na drugiej liście; następnie posortuj dwie listy. Często metoda wyboru.
Sortowanie Radix. Sortuje klucze związane z elementami lub liczbą całkowitą, przetwarzając cyfry.
Sortuj wybór. Wybierz najmniejszy z pozostałych elementów i dodaj go na końcu posortowanej listy.
Sortowanie w skorupkach.Poprawiono sortowanie przy wstawianiu za pomocą przerw między wartościami.
Smoothsort. Zobacz heapsort.
Rodzaj stochastyczny. Zobacz bogosort.
i wiele więcej...