Algorithme de triUn algorithme de tri est, en informatique ou en mathématiques, un algorithme qui permet d'organiser une collection d'objets selon une relation d'ordre déterminée. Les objets à trier sont des éléments d'un ensemble muni d'un ordre total. Il est par exemple fréquent de trier des entiers selon la relation d'ordre usuelle « est inférieur ou égal à ». Les algorithmes de tri sont utilisés dans de très nombreuses situations. Ils sont en particulier utiles à de nombreux algorithmes plus complexes dont certains algorithmes de recherche, comme la recherche dichotomique.
SortingSorting refers to ordering data in an increasing or decreasing manner according to some linear relationship among the data items. ordering: arranging items in a sequence ordered by some criterion; categorizing: grouping items with similar properties. Ordering items is the combination of categorizing them based on equivalent order, and ordering the categories themselves. In , arranging in an ordered sequence is called "sorting". Sorting is a common operation in many applications, and efficient algorithms have been developed to perform it.
Python (langage)Python (prononcé ) est un langage de programmation interprété, multiparadigme et multiplateformes. Il favorise la programmation impérative structurée, fonctionnelle et orientée objet. Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion d'exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl.
Tri par insertionEn informatique, le tri par insertion est un algorithme de tri classique. La plupart des personnes l'utilisent naturellement pour trier des cartes à jouer. En général, le tri par insertion est beaucoup plus lent que d'autres algorithmes comme le tri rapide (ou quicksort) et le tri fusion pour traiter de grandes séquences, car sa complexité asymptotique est quadratique. Le tri par insertion est cependant considéré comme l'algorithme le plus efficace sur des entrées de petite taille.
Tri fusionEn informatique, le tri fusion, ou tri dichotomique, est un algorithme de tri par comparaison stable. Sa complexité temporelle pour une entrée de taille n est de l'ordre de n log n, ce qui est asymptotiquement optimal. Ce tri est basé sur la technique algorithmique diviser pour régner. L'opération principale de l'algorithme est la fusion, qui consiste à réunir deux listes triées en une seule. L'efficacité de l'algorithme vient du fait que deux listes triées peuvent être fusionnées en temps linéaire.
Algorithme de tri externeUn algorithme de tri est dit externe lorsqu'il permet de trier des entrées trop grandes pour être contenues en intégralité dans la mémoire principale d'un ordinateur. En règle générale, la mémoire principale est la mémoire vive, et l'algorithme recourt donc à l'usage d'une mémoire située plus bas dans la hiérarchie mémoire, comme un disque dur. Recourir à la mémoire externe permet d'arriver à trier des volumes de données plus importants mais induit de nouvelles difficultés, le temps d'accès aux données étant beaucoup plus long.
Tri par baseEn algorithmique le tri par base, ou tri radix de radix sort en anglais, est un algorithme de tri, utilisé pour ordonner des éléments identifiés par une clef unique. Chaque clef est une chaîne de caractères ou un nombre que le tri par base trie selon l'ordre lexicographique. Cet algorithme a besoin d'être couplé avec un ou plusieurs algorithmes de tri stable. Le principe de l'algorithme est le suivant : On considère le chiffre le moins significatif de chaque clef. On trie la liste des éléments selon ce chiffre avec un algorithme de tri stable.
Tri de nombres entiersEn informatique, le tri de nombres entiers est le problème algorithmique consistant à trier une collection d'éléments au moyen de clés numériques, chacune étant un nombre entier. Les algorithmes conçus pour le tri des nombres entiers peuvent également souvent être appliqués aux problèmes de tri dans lesquels les clés sont des nombres décimaux, des nombres rationnels ou des chaînes de texte.
DebuggingIn computer programming and software development, debugging is the process of finding and resolving bugs (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve interactive debugging, control flow analysis, unit testing, integration testing, , monitoring at the application or system level, memory dumps, and profiling. Many programming languages and software development tools also offer programs to aid in debugging, known as debuggers.
DébogueurUn débogueur ou débugueur (de l'anglais debugger) est un logiciel qui aide un développeur à analyser les bugs d'un programme. Pour cela, il permet d'exécuter le programme pas-à-pas , d'afficher la valeur des variables à tout moment et de mettre en place des points d'arrêt sur des conditions ou sur des lignes du programme. Il s'agit de l'application à la programmation informatique du processus de troubleshooting. Le programme à déboguer est exécuté à travers le débogueur et s'exécute normalement.
Python syntax and semanticsThe syntax of the Python programming language is the set of rules that defines how a Python program will be written and interpreted (by both the runtime system and by human readers). The Python language has many similarities to Perl, C, and Java. However, there are some definite differences between the languages. It supports multiple programming paradigms, including structured, object-oriented programming, and functional programming, and boasts a dynamic type system and automatic memory management.
Symbole (informatique)En programmation informatique, un symbole est une étiquette apposée sur certains éléments du code objet, du bytecode ou d'un arbre syntaxique abstrait, permettant de les identifier sous cette forme transformée du code source. Un symbole est très proche d'un identificateur du langage source, mais le concept d'identificateur ne recouvre pas totalement le concept de symbole. Le meilleur exemple en est la décoration de nom effectué par les compilateurs C++ qui consiste à trouver un symbole unique pour un identificateur dont le nom est surchargé.
History of PythonPython (programming language) The programming language Python was conceived in the late 1980s, and its implementation was started in December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to ABC capable of exception handling and interfacing with the Amoeba operating system. Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator for Life (BDFL).
Stepping (debugging)Program animation or stepping refers to the debugging method of executing code one instruction or line at a time. The programmer may examine the state of the program, machine, and related data before and after execution of a particular line of code. This allows the programmer to evaluate the effects of each statement or instruction in isolation, and thereby gain insight into the behavior (or misbehavior) of the executing program. Nearly all modern IDEs and debuggers support this mode of execution.
Descripteur de fichierEn informatique, un descripteur de fichier (file descriptor en anglais) est une clé abstraite pour accéder à un fichier (c'est un entier). On utilise généralement ce terme pour les systèmes d'exploitation POSIX. Dans la terminologie de Microsoft Windows et dans le contexte de la bibliothèque stdio.h, on préfère le terme filehandle, bien que ce soit techniquement un objet différent . Dans POSIX, un descripteur de fichier est un entier, et plus spécifiquement dans le langage C, un entier de type int.
Système de gestion d'exceptionsDans le contexte des langages de programmation fonctionnels et impératifs, un système de gestion d'exceptions ou SGE permet de gérer les conditions exceptionnelles pendant l'exécution du programme. Lorsqu'une exception se produit, l'exécution normale du programme est interrompue et l'exception est traitée. Les erreurs/exceptions les plus courantes sont probablement l'accès non autorisé à une zone mémoire (erreur de manipulation de pointeur) et la division par zéro (on ne prévoit pas le cas où le diviseur est nul).
AutomobileUne automobile (simplification historique de l'expression « voiture légère automobile ») est un véhicule à roues, motorisé et destiné au transport terrestre de quelques personnes et de leurs bagages. L'abréviation populaire « » est assez courante, bien que ce terme désigne de nombreux types de véhicules qui ne sont pas tous motorisés. La construction automobile est un secteur économique important pour les pays possédant des constructeurs ou des sites d'assemblage.
.bat.bat est l'extension d'un fichier de commandes MS-DOS. Réaliser un tel fichier permet de concevoir des scripts qui seront interprétés par le "shell" ou interpréteur de commandes (command.com ou cmd.exe) pour notamment exécuter des fichiers .EXE ou .COM. Cette extension est principalement utilisée sur les systèmes d'exploitation de Microsoft (DOS et Windows). Elle peut être assimilée (dans une certaine mesure) à l'extension .sh des scripts shell Unix (ceux du Bourne shell plus exactement).
Fichier informatiquethumb|Pictogrammes représentant des fichiers. Un fichier informatique est au sens commun, une collection, un ensemble de données numériques réunies sous un même nom, enregistrées sur un support de stockage permanent, appelé mémoire de masse, tel qu'un disque dur, un cédérom, une mémoire flash ou une bande magnétique, une série de cartes perforées et manipulées comme une unité. Techniquement un fichier est une information numérique constituée d'une séquence d'octets, c'est-à-dire d'une séquence de nombres, permettant des usages divers.
Marque (marketing)Une marque est définie en France par le Code de la propriété intellectuelle comme un « signe susceptible de représentation graphique servant à distinguer les produits ou services d'une personne physique ou morale ». Le Code de la propriété intellectuelle donne une liste des signes susceptibles de constituer une marque.