Analyse de la complexité des algorithmesvignette|Représentation d'une recherche linéaire (en violet) face à une recherche binaire (en vert). La complexité algorithmique de la seconde est logarithmique alors que celle de la première est linéaire. L'analyse de la complexité d'un algorithme consiste en l'étude formelle de la quantité de ressources (par exemple de temps ou d'espace) nécessaire à l'exécution de cet algorithme. Celle-ci ne doit pas être confondue avec la théorie de la complexité, qui elle étudie la difficulté intrinsèque des problèmes, et ne se focalise pas sur un algorithme en particulier.
Structure de donnéesEn informatique, une structure de données est une manière d'organiser les données pour les traiter plus facilement. Une structure de données est une mise en œuvre concrète d'un type abstrait. Pour prendre un exemple de la vie quotidienne, on peut présenter des numéros de téléphone par département, par nom, par profession (comme les Pages jaunes), par numéro téléphonique (comme les annuaires destinés au télémarketing), par rue et/ou une combinaison quelconque de ces classements.
Optimisation combinatoireL’optimisation combinatoire, (sous-ensemble à nombre de solutions finies de l'optimisation discrète), est une branche de l'optimisation en mathématiques appliquées et en informatique, également liée à la recherche opérationnelle, l'algorithmique et la théorie de la complexité. Dans sa forme la plus générale, un problème d'optimisation combinatoire (sous-ensemble à nombre de solutions finies de l'optimisation discrète) consiste à trouver dans un ensemble discret un parmi les meilleurs sous-ensembles (ou solutions) réalisables, la notion de meilleure solution étant définie par une fonction objectif.
Langage de programmation de haut niveauEn programmation informatique, un langage de programmation à haut niveau d'abstraction généralement appelé langage de haut niveau est un langage de programmation orienté autour du problème à résoudre, qui permet d'écrire des programmes en utilisant des mots usuels des langues naturelles (très souvent de l'anglais) et des symboles mathématiques familiers. Un langage de haut niveau fait abstraction des caractéristiques techniques du matériel utilisé pour exécuter le programme, tels que les registres et les drapeaux du processeur.
Théorie de la complexité (informatique théorique)vignette|Quelques classes de complexité étudiées dans le domaine de la théorie de la complexité. Par exemple, P est la classe des problèmes décidés en temps polynomial par une machine de Turing déterministe. La théorie de la complexité est le domaine des mathématiques, et plus précisément de l'informatique théorique, qui étudie formellement le temps de calcul, l'espace mémoire (et plus marginalement la taille d'un circuit, le nombre de processeurs, l'énergie consommée ...) requis par un algorithme pour résoudre un problème algorithmique.
Algorithmethumb|Algorithme de découpe d'un polygone quelconque en triangles (triangulation). Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que le fonctionnement des ordinateurs, la cryptographie, le routage d'informations, la planification et l'utilisation optimale des ressources, le , le traitement de textes, la bio-informatique L' algorithme peut être mis en forme de façon graphique dans un algorigramme ou organigramme de programmation.
Théorie des graphesvignette|Un tracé de graphe. La théorie des graphes est la discipline mathématique et informatique qui étudie les graphes, lesquels sont des modèles abstraits de dessins de réseaux reliant des objets. Ces modèles sont constitués par la donnée de sommets (aussi appelés nœuds ou points, en référence aux polyèdres), et d'arêtes (aussi appelées liens ou lignes) entre ces sommets ; ces arêtes sont parfois non symétriques (les graphes sont alors dits orientés) et sont alors appelées des flèches ou des arcs.
Géométrie algorithmiquevignette|Rendu d'un cylindre à l'aide d'un programme d'ordinateur. La géométrie algorithmique est le domaine de l'algorithmique qui traite des algorithmes manipulant des concepts géométriques. La géométrie algorithmique est l'étude des algorithmes manipulant des objets géométriques. Par exemple, le problème algorithmique qui consiste, étant donné un ensemble de points dans le plan décrits par leurs coordonnées, à trouver la paire de points dont la distance est minimale est un problème d'algorithmique géométrique.
MétaheuristiqueUne métaheuristique est un algorithme d’optimisation visant à résoudre des problèmes d’optimisation difficile (souvent issus des domaines de la recherche opérationnelle, de l'ingénierie ou de l'intelligence artificielle) pour lesquels on ne connaît pas de méthode classique plus efficace. Les métaheuristiques sont généralement des algorithmes stochastiques itératifs, qui progressent vers un optimum global (c'est-à-dire l'extremum global d'une fonction), par échantillonnage d’une fonction objectif.
Programmation informatiquevignette|Liste d'instructions sur le Commodore 64 La programmation, appelée aussi codage dans le domaine informatique, désigne l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante du développement de logiciels (voire de matériel). L'écriture d'un programme se fait dans un langage de programmation. Un logiciel est un ensemble de programmes (qui peuvent être écrits dans des langages de programmation différents) destiné à la réalisation de certaines tâches par un (ou plusieurs) utilisateurs du logiciel.
Fonction de hachageQuand il s'agit de mettre dans un tableau de taille raisonnable (typiquement résidant dans la mémoire principale de l'ordinateur) un ensemble de données de taille variable et arbitraire, on utilise une fonction de hachage pour attribuer à ces données des indices de ce tableau. Par conséquent, une fonction de hachage est une fonction qui associe des valeurs de taille fixe à des données de taille quelconque. Les valeurs renvoyées par une fonction de hachage sont appelées valeurs de hachage, codes de hachage, résumés, signatures ou simplement hachages.
Géométrie euclidienneLa géométrie euclidienne commence avec les Éléments d'Euclide, qui est à la fois une somme des connaissances géométriques de l'époque et une tentative de formalisation mathématique de ces connaissances. Les notions de droite, de plan, de longueur, d'aire y sont exposées et forment le support des cours de géométrie élémentaire. La conception de la géométrie est intimement liée à la vision de l'espace physique ambiant au sens classique du terme.
Calcul infinitésimalLe calcul infinitésimal (ou calcul différentiel et intégral) est une branche des mathématiques, développée à partir de l'algèbre et de la géométrie, qui implique deux idées majeures complémentaires : Le calcul différentiel, qui établit une relation entre les variations de plusieurs fonctions, ainsi que la notion de dérivée. La vitesse, l'accélération, et les pentes des courbes des fonctions mathématiques en un point donné peuvent toutes être décrites sur une base symbolique commune, les taux de variation, l'optimisation et les taux liés.
Bio-informatiqueLa bioinformatique (ou bio-informatique), est un champ de recherche multidisciplinaire de la biotechnologie où travaillent de concert biologistes, médecins, informaticiens, mathématiciens, physiciens et bioinformaticiens, dans le but de résoudre un problème scientifique posé par la biologie. Plus généralement, la bio-informatique est l'application de la statistique et de l'informatique à la science biologique. Le spécialiste qui travaille à mi-chemin entre ces sciences et l'informatique est appelé bioinformaticien ou bionaute.
Théorie du contrôleEn mathématiques et en sciences de l'ingénieur, la théorie du contrôle a comme objet l'étude du comportement de systèmes dynamiques paramétrés en fonction des trajectoires de leurs paramètres. On se place dans un ensemble, l'espace d'état sur lequel on définit une dynamique, c'est-à-dire une loi mathématiques caractérisant l'évolution de variables (dites variables d'état) au sein de cet ensemble. Le déroulement du temps est modélisé par un entier .
Rendu photoréalisteLe rendu photoréaliste qualifie un rendu visuel qui tend à ressembler à une photographie. Il s'applique ainsi au domaine de l'infographie. Il ne faut pas confondre le rendu photoréaliste avec les mouvements artistiques de l'hyperréalisme, du photoréalisme et du réalisme. Jurassic Park est le premier film à utiliser des images de synthèse où elles atteignent pour la première fois un niveau de réalisme faisant illusion. Elles se résument à quelques plans en pied des créatures, les gros plans étant des animatroniques.
Planification (intelligence artificielle)vignette|Exemple de plan pour un robot qui déplace des blocs : prendre B, poser B sur la table, prendre C, poser C sur A.|alt=|257x257px En intelligence artificielle, la planification automatique (automated planning en anglais) ou plus simplement planification, vise à développer des algorithmes pour produire des plans typiquement pour l'exécution par un robot ou tout autre agent. Les logiciels qui incorporent ces algorithmes s'appellent des planificateurs.
Analyse numériqueL’analyse numérique est une discipline à l'interface des mathématiques et de l'informatique. Elle s’intéresse tant aux fondements qu’à la mise en pratique des méthodes permettant de résoudre, par des calculs purement numériques, des problèmes d’analyse mathématique. Plus formellement, l’analyse numérique est l’étude des algorithmes permettant de résoudre numériquement par discrétisation les problèmes de mathématiques continues (distinguées des mathématiques discrètes).
Protéineredresse=1.36|vignette|Représentation d'une protéine, ici deux sous-unités d'une molécule d'hémoglobine. On observe les représentées en couleur, ainsi que deux des quatre molécules d'hème, qui sont les groupes prosthétiques caractéristiques de cette protéine. redresse=1.36|vignette|Liaison peptidique –CO–NH– au sein d'un polypeptide. Le motif constitue le squelette de la protéine, tandis que les groupes liés aux sont les chaînes latérales des résidus d'acides aminés.
Génétique moléculaireLa génétique moléculaire est une branche de la biologie et de la génétique, qui consiste en l'analyse de la structure et de la fonction des gènes, normaux ou mutants, au niveau moléculaire. La détermination de la séquence ADN du génome de nombreux organismes vivants (virus, bactéries, plantes, animaux) permet également des études comparatives au niveau moléculaire, par comparaison bio-informatique des séquences.