Python - Présentation de DS
Aperçu de la structure des données
Les structures de données sont des concepts fondamentaux de l'informatique qui aident à écrire des programmes efficaces dans n'importe quelle langue. Python est un langage de script de haut niveau, interprété, interactif et orienté objet, à l'aide duquel nous pouvons étudier les principes fondamentaux de la structure de données de manière plus simple par rapport à d'autres langages de programmation.
Dans ce chapitre, nous allons étudier un bref aperçu de certaines structures de données fréquemment utilisées en général et comment elles sont liées à certains types de données Python spécifiques. Il existe également des structures de données spécifiques à python qui sont répertoriées dans une autre catégorie.
Structures de données générales
Les différentes structures de données en informatique sont divisées en gros en deux catégories présentées ci-dessous. Nous discuterons en détail de chacune des structures de données ci-dessous dans les chapitres suivants.
Structures de données de doublure
Ce sont les structures de données qui stockent les éléments de données de manière séquentielle.
- Array: Il s'agit d'un agencement séquentiel d'éléments de données associés à l'index de l'élément de données.
- Linked List: Chaque élément de données contient un lien vers un autre élément avec les données qu'il contient.
- Stack: C'est une structure de données qui ne suit qu'un ordre de fonctionnement spécifique. LIFO (dernier entré premier sorti) ou FILO (premier entré dernier sorti).
- Queue: Il est similaire à Stack mais l'ordre de fonctionnement est uniquement FIFO (First In First Out).
- Matrix: Il s'agit d'une structure de données bidimensionnelle dans laquelle l'élément de données est référencé par une paire d'indices.
Structures de données non doublées
Ce sont les structures de données dans lesquelles il n'y a pas de liaison séquentielle des éléments de données. Toute paire ou groupe d'éléments de données peut être lié les uns aux autres et accessible sans séquence stricte.
- Binary Tree: Il s'agit d'une structure de données dans laquelle chaque élément de données peut être connecté à deux autres éléments de données au maximum et commence par un nœud racine.
- Heap: Il s'agit d'un cas particulier de structure de données Tree où les données du nœud parent sont soit strictement supérieures / égales aux nœuds enfants, soit strictement inférieures à ses nœuds enfants.
- Hash Table: Il s'agit d'une structure de données constituée de tableaux associés les uns aux autres à l'aide d'une fonction de hachage. Il récupère les valeurs à l'aide de clés plutôt que d'index à partir d'un élément de données.
- Graph: .C'est un arrangement de sommets et de nœuds où certains des nœuds sont connectés les uns aux autres par des liens.
Structures de données spécifiques à Python
Ces structures de données sont spécifiques au langage python et offrent une plus grande flexibilité dans le stockage de différents types de données et un traitement plus rapide dans un environnement python.
- List: Il est similaire au tableau à l'exception du fait que les éléments de données peuvent être de types de données différents. Vous pouvez avoir à la fois des données numériques et des données de chaîne dans une liste Python.
- Tuple: Les tuples sont similaires aux listes mais ils sont immuables, ce qui signifie que les valeurs d'un tuple ne peuvent pas être modifiées, elles peuvent uniquement être lues.
- Dictionary: Le dictionnaire contient des paires clé-valeur comme éléments de données.
Dans les chapitres suivants, nous allons apprendre les détails de la façon dont chacune de ces structures de données peut être implémentée en utilisant Python.