La traduction française est ci-dessous. 👇
In this project, I learned how to implement and manipulate different data structures using the C language. I used the concept of abstract data types to define and use lists, dictionaries, binary search trees, and red-black trees. I also used tools to evaluate the complexity and performance of my algorithms and to visualize my data structures graphically.
-
The objective of the TP1 is to write a program to evaluate a set of arithmetic expressions provided in the form of a string of characters in infix notation. I used a stack data structure to convert the expressions from infix to postfix notation, and then to calculate their values.
-
The objective of the TP2 is to write a collection management module according to the specification of a List abstract data type and to implement this type of specification using a doubly-linked internal list representation with sentinel. In addition, I will extend the functionality offered by the implementation of this abstract data type by providing a function for applying any operator to an element of the list.
-
The objective of the TP3 is to program and compare, in terms of complexity and performance, dictionary operations (insert, search, delete) on a linear data structure of the doubly-linked List type. The purpose is to implement the probabilistic linear structure SkipList corresponding to the functional description given in the section.
-
The objective of the TP4 is to program the binary search tree management module and visualize it using the dot tool of the graphviz software suite. I will implement the basic operations of a binary search tree, such as insertion, search, deletion, traversal, and height calculation. I will also generate a dot file that represents the structure of my tree graphically.
-
The objective of the TP5 and TP6 is to program the Red-Black Trees Management Module, Balanced Binary Search Trees, and to perform the visualization of them. I will implement the insertion and deletion operations of a red-black tree, which are more complex than those of a binary search tree, but ensure that the tree remains balanced. I will also generate a dot file that represents the structure and the color of my tree graphically.
Dans ce projet, j'ai appris à implémenter et à manipuler différentes structures de données avec le langage C. J'ai utilisé le concept de types abstraits de données pour définir et utiliser des listes, des dictionnaires, des arbres binaires de recherche, et des arbres rouges-noirs. J'ai également utilisé des outils pour évaluer la complexité et la performance de mes algorithmes, et pour visualiser mes structures de données graphiquement.
-
L'objectif du TP1 est d'écrire un programme qui évalue un ensemble d'expressions arithmétiques fournies sous la forme d'une chaîne de caractères en notation infixe. Je vais utiliser une structure de données de type pile pour convertir les expressions de la notation infixe à la notation postfixe, puis pour calculer leurs valeurs.
-
L'objectif du TP2 est d'écrire un module de gestion des collections selon la spécification d'un type abstrait de données Liste et d'implémenter ce type de spécification en utilisant une représentation interne de liste doublement chaînée avec sentinelle. De plus, je vais étendre la fonctionnalité offerte par l'implémentation de ce type abstrait de données en fournissant une fonction pour appliquer n'importe quel opérateur à un élément de la liste.
-
L'objectif du TP3 est de programmer et de comparer, en termes de complexité et de performance, les opérations de dictionnaire (insertion, recherche, suppression) sur une structure de données linéaire de type Liste doublement chaînée. Le but est d'implémenter la structure linéaire probabiliste SkipList correspondant à la description fonctionnelle donnée dans la section.
-
L'objectif du TP4 est de programmer le module de gestion des arbres binaires de recherche et de les visualiser à l'aide de l'outil dot de la suite logicielle graphviz. Je vais implémenter les opérations de base d'un arbre binaire de recherche, telles que l'insertion, la recherche, la suppression, le parcours, et le calcul de la hauteur. Je vais également générer un fichier dot qui représente la structure de mon arbre graphiquement.
-
L'objectif du TP5 et TP6 est de programmer le module de gestion des arbres rouges-noirs, des arbres binaires de recherche équilibrés, et d'effectuer la visualisation de ceux-ci. Je vais implémenter les opérations d'insertion et de suppression d'un arbre rouge-noir, qui sont plus complexes que celles d'un arbre binaire de recherche, mais qui assurent que l'arbre reste équilibré. Je vais également générer un fichier dot qui représente la structure et la couleur de mon arbre graphiquement.