Les Files

Rappel : Type de Données Abstrait (TDA) Une structure de données ou type de données abstrait est un moyen d’organiser et de manipuler les données en mémoire. Un TDA est donc définit par : Son nom ; Sa spécification, c’est à dire la liste des manipulations/opérations que l’on peut ou pas effectuer. La spécification indique généralement la complexité de chacune des opérations prévues par le TDA. Un type de données abstrait ne dépend pas de la manière dont la structure de données est implémentée dans le langage de programmation utilisé. [Voir plus]

Les Piles

Rappel : Type de Données Abstrait (TDA) Une structure de données ou type de données abstrait est un moyen d’organiser et de manipuler les données en mémoire. Un TDA est donc définit par : Son nom ; Sa spécification, c’est à dire la liste des manipulations/opérations que l’on peut ou pas effectuer. La spécification indique généralement la complexité de chacune des opérations prévues par le TDA. Un type de données abstrait ne dépend pas de la manière dont la structure de données est implémentée dans le langage de programmation utilisé. [Voir plus]

Listes Chaînées

Un corrigé de la section 1 se trouve ici Un corrigé des sections suivantes se trouve ici Tableaux Un tableau est une structure de données dans laquelle les éléments, de même type, occupent des positions contiguës en mémoire. Le nombre d’éléments qu’un tableau peut contenir est déterminé à la création d’un tableau. Type Python Type abstrait Opération Exemple Complexité N’existe pas Tableau Accès à un élément tab[i] $O(1)$ Modification d’un élément tab[i] = x $O(1)$ Effacement d’un élément retire(tab, i) $O(n)$ Insertion d’un élément insere(tab, x, i) $O(n)$ Recherche d’un élément est_dans(tab, x) $O(n)$ La structure de données appelée « liste » dans le langage Python est en fait un tableau dynamique. [Voir plus]

Structures de données fournies avec le langage Python

Python possède dans la bibliothèque standard un grand nombre de structures de données, programmées de manière efficace. Rappels : modules, fonctions Pour chaque module, on distingue : sa réalisation (ou implémentation) : c’est le code lui-même. son interface (API) : c’est l’énumération des fonctions définies dans le module qui sont utilisées depuis d’autres modules/programmes, les clients. L’interface doit présenter une documentation dans laquelle tout ce que doit savoir le client doit être indiqué. [Voir plus]

Rappels d'algorithmique

Algorithmique Un algorithme est une suite finie et non ambiguë d’opérations ou d’instructions à réaliser afin de résoudre un problème. En informatique, pour qu’un algorithme puisse être implémenté, il est nécessaire de s’assurer que la « suite finie et non ambiguë d’opérations ou d’instructions à réaliser » s’effectue en une durée finie . Lorsqu’on élabore ou étudie un algorithme, il est donc nécessaire de vérifier : Sa finitude : Il doit se terminer en un temps fini. [Voir plus]

Recherche d'un élément dans un tableau : algorithmes itératifs et récursifs

Recherche d’un élément dans un tableau La recherche d’éléments dans un tableau a déjà été évoquée en classe de première. Les deux algorithmes mis en œuvre à cette occasion, la recherche linéaire et la recherche dichotomique, utilisaient des boucles. L’objectif de cette séance est de rapidement revoir ces algorithmes et de mettre en œuvres des algorithmes récursifs de même complexité. Quatre algorithmes de recherche vont donc être implémentés : La recherche linéaire itérative ; La recherche linéaire récursive ; La recherche dichotomique itérative ; La recherche dichotomique récursive. [Voir plus]