In Informatica quali concetti apprendi saranno inutili fino a quando non lo mostrerai. Il problema è di primaria importanza che deve essere risolto, quindi l'algoritmo è una breve pianificazione di come il problema verrà risolto in generale. Pertanto è di grande preoccupazione nel mondo dell'informatica.
Penso che quasi ogni aspetto dell'informatica abbia bisogno dell'algoritmo. Lascia che ti mostri questo Il seguente elenco includerebbe varie aree di informatica e quali algoritmi usano.
Automata
Costruzione Powerset. Algoritmo per convertire l'automa non deterministico in automa deterministico.
Algoritmo di Todd-Coxeter. Procedura per la generazione di cosets.
Intelligenza artificiale
Alfa-beta. Alpha max plus beta min. Ampiamente usato nei giochi da tavolo.
Ant-algoritmi. L'ottimizzazione della colonia di formiche è un insieme di algoritmi ispirati al comportamento delle formiche per risolvere un problema, trovare il percorso migliore tra due posizioni.
DE (Evoluzione differenziale). Risolvi il problema di adattamento polinomiale di Chebyshev.
Riconoscimento semi supervisionato delle frasi sarcastiche nelle recensioni di prodotti online. Algortithm che riconosce i sacarsmi o l'ironia in un tweet o in un documento online. Un tale algoritmo sarà essenziale anche per la programmazione di robot umanoidi.
Visione computerizzata
Epitome. Rappresenta un'immagine o un video con uno più piccolo.
Conteggio degli oggetti in un'immagine . Utilizza l'algoritmo di etichettatura dei componenti connessi per etichettare prima ogni oggetto e quindi contare gli oggetti.
Algoritmo di O'Carroll. Da una conversione matematica della visione degli insetti, questo algoritmo valuta come aggirare evitando gli oggetti.
Algoritmi genetici
Usano tre operatori. selezione (scegliere la soluzione), riproduzione (utilizzare soluzioni scelte per costruirne altre), sostituzione (sostituire la soluzione se migliore).
Selezione proporzionale del fitness. Nota anche come selezione della ruota della roulette, è una funzione utilizzata per selezionare le soluzioni.
Selezione del troncamento. Un altro metodo per selezionare le soluzioni, ordinato per fitness.
Selezione del torneo. Seleziona la soluzione migliore per una specie di torneo.
Campionamento universale stocastico. Gli individui sono mappati su segmenti contigui di una linea, in modo tale che il segmento di ciascun individuo abbia le stesse dimensioni della sua forma fisica esattamente come nella selezione della ruota della roulette.
Reti neurali
Hopfield net. Rete neurale artificiale ricorrente che funge da sistema di memoria indirizzabile al contenuto con unità binarie di soglia. Convergono in uno stato stabile.
Backpropagation. Tecnica di apprendimento supervisionata utilizzata per l'addestramento di reti neurali artificiali.
Mappa auto-organizzante (mappa di Kohonen). Reti neurali addestrate utilizzando l'apprendimento non supervisionato per produrre una rappresentazione a bassa dimensione (2D, 3D) dei campioni di addestramento. Buono per visualizzare dati ad alta dimensione.
Bioinformatica
Needleman-Wunsch. Esegue un allineamento globale su due sequenze, per sequenze di proteine o nucleotidi.
Smith-Waterman. Variazione di Needleman-Wunsch.
Compressione
Algoritmi di compressione senza perdita
Trasformata di Burrows-Wheeler. Preelaborazione utile per migliorare la compressione senza perdita.
Sgonfiare. Compressione dei dati utilizzata da ZIP.
Codifica delta. Aiuti alla compressione di dati in cui i dati sequenziali si verificano frequentemente.
Codifica incrementale. Codifica delta applicata a sequenze di stringhe.
LZW. (Lempel-Ziv-Welch). Successore di LZ78. Crea una tabella di traduzione dai dati da comprimere. Viene utilizzato dal formato grafico GIF.
LZ77 e 78. La base di ulteriori variazioni LZ (LZW, LZSS, ...). Sono entrambi programmatori di dizionari.
LZMA. Abbreviazione di Lempel-Ziv-Markov chain-Algorithm.
LZO. Algoritmo di compressione dei dati incentrato sulla velocità.
PPM(Previsione per corrispondenza parziale). Tecnica adattiva di compressione dei dati statistici basata sulla modellazione e la previsione del contesto. Codifica Shannon-Fano. Crea codici prefisso basati su un insieme di simboli e relative probabilità.
Binario troncato. Una codifica entropica in genere utilizzata per distribuzioni di probabilità uniformi con un alfabeto finito. Migliora la codifica binaria.
Codifica run-length. Compressione primaria che sostituisce una sequenza dello stesso codice con il numero di occorrenze.
Sequitur. Inferenza grammaticale incrementale su una stringa.
EZW (Embedded Zerotree Wavelet). Codifica progressiva per comprimere un'immagine in un flusso di bit con maggiore precisione. Può essere una compressione con perdita anche con risultati migliori.
Codifica entropica
Schema di codifica che assegna codici ai simboli in modo da abbinare le lunghezze dei codici alle probabilità dei simboli.
Codifica di Huffman. Semplice compressione lossless sfruttando le frequenze dei caratteri relativi.
Codifica adattativa di Huffman. Tecnica di codifica adattativa basata sulla codifica Huffman.
Codifica aritmetica. Codifica di entropia avanzata.
Codifica intervallo. Lo stesso della codifica aritmetica, ma guardato in un modo leggermente diverso.
Codifica unaria. Codice che rappresenta un numero n con n seguito da uno zero. Elias delta, gamma, codifica omega. Codice universale che codifica gli interi positivi. Codifica di Fibonacci. Codice universale che codifica numeri interi positivi in parole di codice binario.
Codifica Golomb. Forma di codifica entropica ottimale per alfabeti che seguono distribuzioni geometriche.
Codifica del riso. Forma di codifica entropica ottimale per alfabeti che seguono distribuzioni geometriche.
Algoritmi di compressione con perdita
Codifica predittiva lineare. Compressione in perdita rappresentando l'inviluppo spettrale di un segnale vocale digitale in forma compressa.
Algoritmo A-law. Algoritmo di companding standard.
Algoritmo Mu-law. Algoritmo standard di compressione o compressione del segnale analogico.
Compressione frattale. Metodo utilizzato per comprimere le immagini utilizzando i frattali.
Trasforma la codifica. Tipo di compressione dei dati per dati come segnali audio o immagini fotografiche.
Quantizzazione vettoriale. Tecnica spesso utilizzata nella compressione di dati con perdita di dati.
Compressione ondulata. Forma di compressione dei dati adatta per la compressione di immagini e audio.
Crittografia
Chiave segreta (crittografia simmetrica)
Utilizzare una chiave segreta (o una coppia di chiavi direttamente correlate) sia per la decrittografia che per la crittografia.
Advanced Encryption Standard (AES) , noto anche come Rijndael.
Blowfish. Progettato da Schneier come algoritmo per tutti gli usi, inteso come sostituto dell'invecchiamento della DE.
Data Encryption Standard (DES) , precedentemente DE Algorithm.
IDEA (International Data Encryption Algorithm) . Precedentemente IPES (PES migliorato), un altro sostituto di DES. Viene utilizzato da PGP (Pretty Good Privacy). Esegue trasformazioni su dati suddivisi in blocchi, utilizzando una chiave.
RC4 o ARC4. Crittografia di flusso ampiamente utilizzata in protocolli come SSL per il traffico Internet e WEP per reti wireless.
Algoritmo di crittografia minuscola. Algoritmo di cifratura a blocchi facile da implementare usando alcune formule.
PES (Proposta di standard di crittografia). Nome precedente per IDEA.
Chiave pubblica (crittografia asimmetrica)
Utilizzare una coppia di chiavi, designate come chiave pubblica e chiave privata. La chiave pubblica crittografa il messaggio, solo la chiave privata consente di decrittografarlo.
DSA (Digital Signature Algorithm). Genera chiavi con numeri primi e casuali. È stato utilizzato da agenzie statunitensi e ora di dominio pubblico.
ElGamal. Basato su Diffie-Hellman, utilizzato dal software GNU Privacy Guard, PGP e altri sistemi crittografici.
RSA (Rivest, Shamir, Adleman). Ampiamente usato nei protocolli di commercio elettronico. Usa i numeri primi.
Scambio di chiavi Diffie-Hellman (Merkle) (o scambio di chiavi esponenziale). Metodo e algoritmo per condividere segreti su un canale di comunicazione non protetto. Utilizzato da RSA.
NTRUEncrypt. Usa anelli di polinomi con moltiplicazioni di convoluzione.
Funzioni di digest dei messaggi
Un digest di messaggio è un codice risultante dalla crittografia di una stringa o di dati di qualsiasi lunghezza, elaborato da una funzione hash.
MD5. Utilizzato per controllare le immagini ISO di CD o DVD.
RIPEMD (Digest del messaggio di valutazione dei primitivi di integrità RACE). Basato sui principi di MD4 e simili a SHA-1.
SHA-1 (Secure Hash Algorithm 1). Più comunemente usato dell'insieme SHA delle relative funzioni hash crittografiche. È stato progettato dall'agenzia NSA.
HMAC. autenticazione dei messaggi con hash con chiave.
Tiger (TTH). Di solito usato negli hash di tigre.
Crittografia utilizzando numeri pseudo-casuali
Vedi. Generatori di numeri casuali
Tecniche di crittografia
Condivisione segreta, divisione del segreto, divisione del tasto, algoritmi M di N.
Schema di condivisione segreta di Shamir. Questa è una formula basata sull'interpolazione polinomiale.
Schema di condivisione segreta di Blakley. È di natura geometrica, il segreto è un punto in uno spazio m-dimensionale.
Altre tecniche e decrittazione
Somma del sottoinsieme. Dato un insieme di numeri interi, la somma di un sottoinsieme equivale a zero? Usato in crittografia.
L'algoritmo di Shor. Algoritmo quantistico in grado di decrittografare un codice basato su funzioni asimmetriche come RSA.
Geometria
Incartamento di regalo. Determinazione dello scafo convesso di una serie di punti.
Distanza Gilbert-Johnson-Keerthi. Determinazione della distanza minima tra due forme convesse.
Graham scan. Determinazione dello scafo convesso di una serie di punti nel piano.
Intersezione del segmento di linea. Verifica se le linee si intersecano con un algoritmo di linea sweep.
Punta in poligono. Verifica se un determinato punto si trova all'interno di un dato.
Intersezione raggio / piano.
* Intersezione linea / triangolo. * Caso particolare dell'intersezione raggio / piano.
Poligonizzazione di superfici implicite. Approssimare una superficie implicita con una rappresentazione poligonale.
Triangolazione.Metodo per valutare la distanza da un punto dagli angoli ad altri punti, la cui distanza è nota.
Grafici
Tecnologia Surface Tracker 3D. Processo per aggiungere immagini sui muri in un video mentre vengono prese in considerazione le superfici nascoste.
Bellman-Ford. Calcola i percorsi più brevi in un grafico ponderato (in cui alcuni dei pesi dei bordi possono essere negativi).
L'algoritmo di Dijkstra. Calcola i percorsi più brevi in un grafico con pesi dei bordi non negativi.
Metodi di perturbazione. Un algoritmo che calcola i percorsi localmente più brevi in un grafico.
Floyd-Warshall. Risolve il problema del percorso più breve di tutte le coppie in un grafico diretto e ponderato.
La ricerca del ciclo di Floyd. Trova cicli nelle iterazioni.
Johnson. Algoritmo del percorso più breve di tutte le coppie nel grafico diretto ponderato rado.
Kruskal.Trova un albero di spanning minimo per un grafico.
Di Prim. Trova un albero di spanning minimo per un grafico. Chiamato anche algoritmo DJP, Jarník o Prim – Jarník.
* Boruvka. * Trova un albero di spanning minimo per un grafico.
Ford-Fulkerson. Calcola il flusso massimo in un grafico.
Edmonds-Karp. Implementazione di Ford-Fulkerson.
Interruttore di spanning minimo non bloccante. Per un centralino telefonico.
Woodhouse-Sharp. Trova un albero di spanning minimo per un grafico.
A base di primavera. Algoritmo per il disegno grafico.
Ungherese. Algoritmo per trovare una corrispondenza perfetta.
Algoritmo di colorazione. Algoritmo di colorazione del grafico.
Vicino più vicino.Trova il vicino più vicino.
Ordinamento topologico. Ordinare un grafico aciclico diretto in modo tale che ciascun nodo preceda tutti i nodi a cui ha bordi (secondo le direzioni).
Algoritmo degli antenati meno comuni off-line di Tarjan. Calcola gli antenati comuni più bassi per le coppie di nodi in un albero.
Grafica
Algoritmo di linea di Bresenham. Utilizza le variabili di decisione per tracciare una linea retta tra 2 punti specificati.
Paesaggio Disegna uno scenario 3D.
* Algoritmo della linea DDA. * Usa la matematica in virgola mobile per tracciare una linea retta tra 2 punti specificati.
Riempimento. Riempie una regione connessa con un colore.
Ripristino dell'immagine. Ripristina foto, migliora le immagini.
Algoritmo di linea di Xiaolin Wu. Antialiasing di linea.
Algoritmo del pittore. Rileva parti visibili di uno scenario tridimensionale.
Ray tracing. Rendering di immagini realistiche.
Phong shading. Un modello di illuminazione e un metodo di interpolazione in computer grafica 3D.
Ombreggiatura Gouraud.Simula i diversi effetti di luce e colore sulla superficie di un oggetto 3D.
Rendering scanline. Costruisce un'immagine spostando una linea immaginaria.
Illuminazione globale. Considera l'illuminazione diretta e il riflesso di altri oggetti.
Interpolazione. Costruzione di nuovi punti dati come nello zoom digitale.
Resynthesizer. Rimuovi un oggetto su una foto e ricostruisci lo sfondo utilizzato da Photoshop e The Gimp. Tutorial su Resynthesizer.
Algoritmo di intercettazione pendenza. È un'implementazione della formula di intercettazione dell'inclinazione per tracciare una linea.
Interpolazione spline. Riduce l'errore con il fenomeno di Runge.
Tecnologia 3D Surface Tracker. Aggiunta di immagini o video sui muri in un video, tenendo conto delle superfici nascoste.
Elenchi, matrici e alberi
ricerca
Ricerca nel dizionario. Vedi ricerca predittiva.
Algoritmo di selezione. Trova il kth più grande elemento in un elenco.
Algoritmo di ricerca binaria. Individua un elemento in un elenco ordinato.
Ampia ricerca. Attraversa un grafico livello per livello.
Ricerca in profondità. Attraversa un grafico ramo per ramo.
La migliore ricerca. Attraversa un grafico nell'ordine della probabile importanza usando una coda prioritaria.
Una ricerca di alberi. * Caso speciale della migliore ricerca che utilizza l'euristica per migliorare la velocità.
Ricerca a costi uniformi. Una ricerca ad albero che trova il percorso di costo più basso in cui i costi variano.
Ricerca predittiva.Ricerca binaria come i fattori che determinano l'entità del termine di ricerca rispetto ai valori alti e bassi della ricerca.
Hash table. Associare le chiavi agli elementi in una raccolta non ordinata, per recuperarli in un tempo lineare.
Ricerca interpolata. Vedi ricerca predittiva.
Ordinamento
Ordinamento di alberi binari. Ordinamento di un albero binario, incrementale, simile all'ordinamento per inserzione.
Stupid Sort. Ordinamento casuale inefficiente di una carta da scrivania.
Ordinamento delle bolle. Per ogni coppia di indici, scambiare gli articoli se non funzionanti.
Ordinamento della benna. Dividi un elenco in secchi e ordinali singolarmente. Generalizza la specie di piccione.
Ordinamento cocktail (o bolla bidirezionale, shaker, ripple, shuttle, happy hour sort). Variazione dell'ordinamento a bolle che ordina in entrambe le direzioni ciascuna passa attraverso l'elenco.
Comb ordinamento. Variazione efficiente dell'ordinamento delle bolle che elimina le "tartarughe", i piccoli valori vicino alla fine dell'elenco e fa uso degli spazi vuoti tra i valori.
Ordinamento di conteggio.Utilizza l'intervallo di numeri nell'elenco A per creare un array B di questa lunghezza. Gli indici in B vengono utilizzati per contare quanti elementi in A hanno un valore inferiore a i.
Gnome sort. Simile all'ordinamento per inserzione, tranne per il fatto che lo spostamento di un elemento nella posizione corretta viene eseguito da una serie di scambi, come nell'ordinamento a bolle.
Heapsort. Converti l'elenco in un heap, continua a rimuovere l'elemento più grande dall'heap e aggiungilo alla fine dell'elenco.
Ordinamento per inserzione. Determina la posizione dell'elemento corrente nell'elenco di quelli ordinati e inseriscilo lì.
Introsort. O ordinamento introspettivo. Inizia in quicksort e passa a heapsort a un certo livello di ricorsione.
Unisci ordinamento.Ordinare la prima e la seconda metà dell'elenco separatamente, quindi unire gli elenchi ordinati.
Pancake sort. Elementi inversi di alcuni prefissi di una sequenza.
Sorta di piccione. Riempi un array vuoto con tutti gli elementi di un array da ordinare, in ordine.
Sorta di postino. Variante gerarchica del secchio, utilizzata dagli uffici postali.
Quicksort. Dividi l'elenco in due, con tutti gli elementi nel primo elenco che precedono tutti gli elementi nel secondo elenco .; quindi ordinare i due elenchi. Spesso il metodo di scelta.
Ordinamento Radix. Ordina le chiavi associate agli articoli o numeri interi elaborando le cifre.
Ordinamento di selezione. Scegli il più piccolo degli elementi rimanenti, aggiungilo alla fine dell'elenco ordinato.
Ordinamento Shell.Migliora l'ordinamento di inserzione con l'uso di spazi vuoti tra i valori.
Smoothsort. Vedi heapsort.
Ordinamento stocastico. Vedi bogosort.
e molti altri...