En informatique, les concepts que vous apprendrez ne seront d'aucune utilité tant que vous ne les aurez pas montrés. Le problème est une préoccupation majeure qui doit être résolue. Un algorithme est donc une brève planification de la façon dont le problème sera résolu en général. C'est donc une préoccupation majeure dans le monde de l'informatique.
Je pense que presque tous les aspects de l'informatique ont besoin d'un algorithme. Permettez-moi de vous montrer ceci. La liste suivante comprend différents domaines d'informatique et les algorithmes qu'ils utilisent.
Les automates
Construction de Powerset. Algorithme de conversion d'automate non déterministe en automate déterministe.
Algorithme de Todd-Coxeter. Procédure pour générer des coset.
Intelligence artificielle
Alpha Beta. Alpha max plus beta min. Largement utilisé dans les jeux de société.
Ant-algorithmes. L’optimisation des colonies de fourmis est un ensemble d’algorithmes inspirés par le comportement des fourmis pour résoudre un problème, trouver le meilleur chemin entre deux endroits.
DE (évolution différentielle). Résoudre le problème d’ajustement polynomial de Chebyshev.
Reconnaissance semi-supervisée des peines sarcastiques dans les revues de produits en ligne. Algortithme reconnaissant les sacarsmes ou l'ironie dans un tweet ou un document en ligne. Un tel algorithme sera également essentiel pour la programmation de robots humanoïdes.
Vision par ordinateur
Exemple. Représenter une image ou une vidéo par un plus petit.
Comptage d'objets dans une image . Utilise l'algorithme d'étiquetage des composants connectés pour étiqueter d'abord chaque objet, puis compter les objets.
Algorithme O'Carroll. À partir d’une conversion mathématique de la vision des insectes, cet algorithme évalue comment se déplacer en évitant les objets.
Algorithmes génétiques
Ils utilisent trois opérateurs. sélection (choisir la solution), reproduction (utiliser les solutions choisies pour en construire d'autres), remplacement (remplacer la solution si elle est meilleure).
Sélection proportionnelle de remise en forme. Également appelée sélection de la roue de roulette, cette fonction est utilisée pour sélectionner des solutions.
Sélection de la troncature. Une autre méthode de sélection des solutions, ordonnée par forme physique.
Sélection du tournoi. Sélectionnez la meilleure solution par une sorte de tournoi.
Échantillonnage universel stochastique. Les individus sont mappés sur des segments contigus d'une ligne, de telle sorte que le segment de chaque individu a la même taille que son niveau de forme, exactement comme dans la sélection par roue de roulette.
Les réseaux de neurones
Hopfield net. Réseau de neurones artificiels récurrents servant de systèmes de mémoire à adressage de contenu avec unités de seuil binaires. Ils convergent vers un état stable.
Propagation arrière. Technique d'apprentissage supervisé utilisée pour la formation de réseaux de neurones artificiels.
Carte auto-organisée (carte de Kohonen). Réseaux de neurones formés à l'aide d'un apprentissage non supervisé pour produire une représentation en basse dimension (2D, 3D) des échantillons d'apprentissage. Bon pour visualiser des données de grandes dimensions.
Bioinformatique
Needleman-Wunsch. Effectue un alignement global sur deux séquences, pour des séquences protéiques ou nucléotidiques.
Smith-Waterman. Variation du Needleman-Wunsch.
Compression
Algorithmes de compression sans perte
Transformation de Burrows-Wheeler. Le prétraitement est utile pour améliorer la compression sans perte.
Dégonfler. Compression de données utilisée par ZIP.
Codage Delta. Aide à la compression des données dans lesquelles des données séquentielles sont fréquentes.
Encodage incrémental. Le codage delta appliqué aux séquences de chaînes.
LZW. (Lempel-Ziv-Welch). Successeur de LZ78. Construit une table de traduction à partir des données à compresser. Est utilisé par le format graphique GIF.
LZ77 et 78. La base de nouvelles variations de la ZS (LZW, LZSS, ...). Ils sont tous les deux codeurs de dictionnaire.
LZMA. Abréviation de l'algorithme de chaîne de Lempel-Ziv-Markov.
LZO. Algorithme de compression de données axé sur la vitesse.
PPM(Prédiction par correspondance partielle). Technique de compression de données statistiques adaptative basée sur la modélisation et la prédiction de contexte. Shannon-Fano codant. Construit des codes de préfixes basés sur un ensemble de symboles et leurs probabilités.
Binaire tronqué. Un codage entropique généralement utilisé pour les distributions de probabilité uniformes avec un alphabet fini. Améliorer l'encodage binaire.
Encodage en longueur. Compression primaire qui remplace une séquence du même code par le nombre d'occurrences.
Sequitur. Inférence incrémentielle de grammaire sur une chaîne.
EZW (Embedded Zerotree Wavelet). Encodage progressif pour compresser une image dans un flux de bits avec une précision croissante. La compression avec perte peut également produire de meilleurs résultats.
Codage entropique Schéma de codage qui attribue des codes aux symboles afin de faire correspondre les longueurs de code aux probabilités des symboles.
Huffman codant. Compression simple sans perte tirant parti des fréquences relatives des caractères.
Codage adaptatif de Huffman. Technique de codage adaptatif basée sur le codage de Huffman.
Codage arithmétique. Codage d'entropie avancé.
Encodage de plage. Identique au codage arithmétique, mais sous un angle légèrement différent.
Codage unaire. Code qui représente un nombre n avec n uns suivis d'un zéro. Elias delta, gamma, codage oméga. Code universel codant les entiers positifs. Codage de Fibonacci. Code universel qui code des entiers positifs en mots de code binaires.
Codage de Golomb. Forme de codage entropique optimale pour les alphabets suivant des distributions géométriques.
Codage du riz. Forme de codage entropique optimale pour les alphabets suivant des distributions géométriques.
Algorithmes de compression avec perte
Codage prédictif linéaire. Compression avec perte en représentant l'enveloppe spectrale d'un signal numérique de parole sous forme comprimée.
Algorithme de loi A. Algorithme de companding standard.
Algorithme de Mu-loi. Algorithme standard de compression ou de compression de signal analogique.
Compression fractale. Méthode utilisée pour compresser des images à l'aide de fractales.
Transformer le codage. Type de compression de données pour des données telles que des signaux audio ou des images photographiques.
Quantification vectorielle. Technique souvent utilisée dans la compression de données avec pertes.
Compression en ondelettes. Forme de compression de données bien adaptée à la compression d’image et audio.
Cryptographie
Clé secrète (cryptage symétrique)
Utilisez une clé secrète (ou une paire de clés directement associées) pour le décryptage et le cryptage.
Advanced Encryption Standard (AES) , également connu sous le nom de Rijndael.
Blowfish. Conçu par Schneier comme un algorithme à usage général, destiné à remplacer le DE vieillissant.
Data Encryption Standard (DES) , anciennement DE Algorithm.
IDEA (algorithme international de cryptage de données) . Anciennement IPES (PES amélioré), un autre remplaçant pour le DES. Est utilisé par PGP (Pretty Good Privacy). Effectue des transformations sur des données divisées en blocs, à l'aide d'une clé.
RC4 ou ARC4. Cryptage de flux largement utilisé dans les protocoles tels que SSL pour le trafic Internet et WEP pour les réseaux sans fil.
Algorithme de cryptage minuscule. Facile à mettre en œuvre un algorithme de chiffrement par blocs en utilisant certaines formules.
PES (Proposition de norme de cryptage). Ancien nom pour IDEA.
Clé publique (cryptage asymétrique)
Utilisez une paire de clés, désignées comme clé publique et clé privée. La clé publique crypte le message, seule la clé privée permet de le décrypter.
DSA (algorithme de signature numérique). Générer des clés avec des nombres premiers et aléatoires. A été utilisé par les agences américaines, et maintenant domaine public.
ElGamal. Basé sur Diffie-Hellman, utilisé par le logiciel GNU Privacy Guard, PGP et d'autres systèmes cryptographiques.
RSA (Rivest, Shamir, Adleman). Largement utilisé dans les protocoles de commerce électronique. Utilisez des nombres premiers.
Échange de clé Diffie-Hellman (Merkle) (ou échange de clé exponentiel). Méthode et algorithme pour partager le secret sur un canal de communication non protégé. Utilisé par RSA.
NTRUEncrypt. Utiliser des anneaux de polynômes à multiplications par convolution.
Fonctions de résumé du message
Un résumé de message est un code résultant du cryptage d'une chaîne ou de données de longueur quelconque, traité par une fonction de hachage.
MD5. Utilisé pour vérifier les images ISO de CD ou de DVD.
RIPEMD (Résumé de message d'évaluation de primitives d'intégrité RACE). Basé sur les principes de MD4 et similaire à SHA-1.
SHA-1 (algorithme de hachage sécurisé 1). Le plus couramment utilisé de l'ensemble SHA de fonctions de hachage cryptographiques connexes. A été conçu par l'agence de la NSA.
HMAC. authentification du message de hachage par clé.
Tigre (TTH). Habituellement utilisé dans les hachages de tigres.
Cryptographique utilisant des nombres pseudo-aléatoires
Voir. Générateurs de nombres aléatoires
Techniques de cryptographie
Partage de secrets, fractionnement de secrets, fractionnement de clés, algorithmes M de N.
Le plan de partage secret de Shamir. Ceci est une formule basée sur une interpolation polynomiale.
Le plan de partage secret de Blakley. De nature géométrique, le secret est un point situé dans un espace à m dimensions.
Autres techniques et décryptage
Somme de sous-ensemble. Étant donné un ensemble d’entiers, la somme des sous-ensembles est-elle égale à zéro? Utilisé en cryptographie.
Algorithme de Shor. Algorithme Quantum capable de décrypter un code basé sur des fonctions asymétriques telles que RSA.
Géométrie
Emballage cadeau. Déterminer la coque convexe d'un ensemble de points.
Gilbert-Johnson-Keerthi distance. Déterminer la plus petite distance entre deux formes convexes.
Graham scanner. Déterminer la coque convexe d'un ensemble de points dans le plan.
Intersection de segment de ligne. Déterminer si les lignes se croisent avec un algorithme de ligne de balayage.
Point en polygone. Teste si un point donné se situe dans une donnée.
Intersection Ray / Plan.
* Intersection Ligne / Triangle. * Cas particulier de l'intersection Ray / Plan.
Polygonisation des surfaces implicites. Approximer une surface implicite avec une représentation polygonale.
Triangulation Méthode d'évaluation de la distance à un point d'angles à d'autres points, dont la distance est connue.
Graphes
3D Surface Tracker Technology. Processus pour ajouter des images sur les murs d'une vidéo tout en tenant compte des surfaces cachées.
Bellman-Ford. Calcule les chemins les plus courts dans un graphique pondéré (où certaines pondérations sur les arêtes peuvent être négatives).
Algorithme de Dijkstra. Calcule les chemins les plus courts dans un graphique avec des pondérations de bord non négatives.
Méthodes de perturbation. Un algorithme qui calcule les chemins les plus courts localement dans un graphique.
Floyd-Warshall. Résout le problème du plus court chemin de toutes les paires dans un graphe orienté pondéré.
Cycle de recherche de Floyd. Trouve des cycles dans les itérations.
Johnson Algorithme du plus court chemin de toutes les paires dans un graphe dirigé pondéré de faible densité.
Kruskal.Trouve un arbre couvrant minimal pour un graphique.
Prim's. Trouve un arbre couvrant minimal pour un graphique. Aussi appelé algorithme DJP, Jarník ou Prim – Jarník.
* Boruvka. * Recherche un arbre couvrant minimal pour un graphique.
Ford-Fulkerson. Calcule le débit maximum dans un graphique.
Edmonds-Karp. Mise en œuvre de Ford-Fulkerson.
Commutateur Spanning Minimal non bloquant. Pour un central téléphonique.
Woodhouse-Sharp. Trouve un arbre couvrant minimal pour un graphique.
À base de printemps. Algorithme pour le dessin graphique.
Hongrois. Algorithme pour trouver une correspondance parfaite.
Algorithme de coloration. Algorithme de coloration graphique.
Voisin le plus proche.Trouver le voisin le plus proche.
Type topologique. Triez un graphe acyclique dirigé de manière à ce que chaque nœud soit placé avant tous les nœuds sur lesquels il a des arêtes (selon les directions).
Algorithme moins commun des ancêtres hors ligne de Tarjan. Calcule les plus bas ancêtres communs pour des paires de nœuds dans une arborescence.
Graphique
Algorithme de ligne de Bresenham. Utilise des variables de décision pour tracer une ligne droite entre 2 points spécifiés.
Paysage Dessine un paysage en 3D.
* Algorithme de ligne DDA. * Utilise des mathématiques en virgule flottante pour tracer une ligne droite entre 2 points spécifiés.
Remplir inondé. Remplit une région connectée avec une couleur.
Restauration d'image. Restaurer la photo, améliorer les images.
Algorithme de ligne de Xiaolin Wu. Anti-crénelage de ligne.
Algorithme du peintre. Détecte les parties visibles d'un paysage en 3 dimensions.
Tracé laser. Rendu d'image réaliste.
Phong shading. Un modèle d'éclairage et une méthode d'interpolation en infographie 3D.
Ombrage Gouraud.Simulez les effets de lumière et de couleur sur la surface d'un objet 3D.
Rendu Scanline. Construit une image en déplaçant une ligne imaginaire.
Illumination globale. Considère l'éclairage direct et la réflexion d'autres objets.
Interpolation. Construire de nouveaux points de données tels que dans le zoom numérique.
Resynthesizer. Supprimez un objet sur une photo et reconstruisez le fond utilisé par Photoshop et The Gimp. Tutoriel de resynthèse.
Algorithme d'interception de pente. C'est une implémentation de la formule d'interception de pente pour tracer une ligne.
Interpolation spline. Réduit les erreurs avec le phénomène de Runge.
Technologie de suivi de surface 3D. Ajout d'images ou de vidéos sur les murs d'une vidéo, les surfaces cachées étant prises en compte.
Listes, tableaux et arbres
Recherche
Recherche par dictionnaire. Voir recherche prédictive.
Algorithme de sélection. Trouve le kème élément le plus volumineux de la liste.
Algorithme de recherche binaire. Localise un élément dans une liste triée.
Largeur-première recherche. Parcourt un graphique niveau par niveau.
Profondeur d'abord. Traverse une branche de graphe par branche.
Meilleure première recherche. Parcourt un graphique dans l'ordre d'importance probable à l'aide d'une file d'attente prioritaire.
Une recherche dans les arbres. * Cas particulier de la meilleure recherche en premier qui utilise des méthodes heuristiques pour améliorer la vitesse.
Recherche à coût uniforme. Une recherche dans l’arbre qui trouve l’itinéraire le moins coûteux où les coûts varient.
Recherche prédictive.Binaire comme recherche qui détermine l’ampleur du terme recherché par rapport aux valeurs hautes et basses de la recherche.
Table de hachage. Associez les clés aux éléments d'une collection non triée pour les récupérer dans un délai linéaire.
Recherche interpolée. Voir recherche prédictive.
Tri
Tri des arbres binaires. Tri d'un arbre binaire, incrémental, similaire au tri par insertion.
Bogosort. Sorte aléatoire inefficace d'une carte de bureau.
Sorte de bulle. Pour chaque paire d'indices, échangez les éléments s'ils sont en panne.
Sorte de seau. Divisez une liste en compartiments et triez-les individuellement. Généraliser le tri par casier.
Sorte de cocktail (ou bulle bidirectionnelle, shaker, ondulation, navette, sorte de happy hour). Une variante du type de bulle qui trie dans les deux sens passe à travers la liste.
Peigne sorte. Variation efficace du type de bulle qui élimine les "tortues", les petites valeurs proches de la fin de la liste et utilise les écarts entre les valeurs.
Compter le genre.Il utilise la plage de nombres de la liste A pour créer un tableau B de cette longueur. Les index de B permettent de compter le nombre d'éléments de A dont la valeur est inférieure à i.
Sorte de gnome. Semblable au tri par insertion, sauf que le déplacement d'un élément à sa place s'effectue par une série d'échanges, comme dans le tri à bulles.
Heapsort. Convertissez la liste en tas, continuez à supprimer le plus gros élément du tas et à l'ajouter à la fin de la liste.
Tri par insertion. Déterminez l'emplacement de l'élément en cours dans la liste des éléments triés et insérez-le dans la liste.
Introsort. Ou genre introspective. Il commence par un tri rapide et passe en ordre de tri à un certain niveau de récursivité.
Tri par fusion.Triez séparément la première et la seconde moitié de la liste, puis fusionnez les listes triées.
Sorte de crêpes. Inverser les éléments d'un préfixe d'une séquence.
Sorte de casier. Remplissez un tableau vide avec tous les éléments d'un tableau à trier, dans l'ordre.
Type de facteur. Variante hiérarchique du tri par seau, utilisée par les bureaux de poste.
Tri rapide. Divisez la liste en deux, avec tous les éléments de la première liste devant tous les éléments de la deuxième liste .; puis triez les deux listes. Souvent la méthode de choix.
Sorte de Radix. Trie les clés associées aux éléments, ou un nombre entier en traitant des chiffres.
Tri de sélection. Choisissez le plus petit des éléments restants, ajoutez-le à la fin de la liste triée.
Sorte de coquille.Améliore le tri par insertion en utilisant les espaces entre les valeurs.
Smoothsort. Voir Heapsort.
Tri stochastique. Voir bogosort.
et beaucoup plus...