Junior
Quelles sont les structures de données existantes?
sobes.tech IA
Réponse de l'IA
Les structures de données se divisent en deux catégories principales:
-
Linéaires : Les éléments sont disposés séquentiellement.
- Tableau (Array) : Taille fixe, accès direct par index.
int[] numbers = { 1, 2, 3, 4, 5 }; // Exemple de déclaration - Liste (List) : Taille dynamique, les éléments sont ajoutés et supprimés.
System.Collections.Generic.List<string> names = new System.Collections.Generic.List<string>(); names.Add("Alice"); names.Add("Bob"); - Liste chaînée (Linked List) : Les éléments (nœuds) contiennent une référence au suivant (et éventuellement au précédent).
- Simplement chaînée
- Doublement chaînée
System.Collections.Generic.LinkedList<char> letters = new System.Collections.Generic.LinkedList<char>(); letters.AddLast('A'); letters.AddLast('B'); - Pile (Stack) : Dernier entré, premier sorti (LIFO).
System.Collections.Generic.Stack<int> stack = new System.Collections.Generic.Stack<int>(); stack.Push(10); // Ajoute un élément au sommet int item = stack.Pop(); // Supprime et retourne l'élément du sommet - File (Queue) : Premier entré, premier sorti (FIFO).
System.Collections.Generic.Queue<string> queue = new System.Collections.Generic.Queue<string>(); queue.Enqueue("Tâche 1"); // Ajoute un élément à la fin string task = queue.Dequeue(); // Supprime et retourne l'élément du début
- Tableau (Array) : Taille fixe, accès direct par index.
-
Non linéaires : Les éléments ne sont pas disposés séquentiellement.
- Arbre (Tree) : Structure hiérarchique avec un nœud racine et des descendants.
- Arbre binaire
- Arbre B
- Arbre rouge-noir
- Arbre AVL
- Graphe (Graph) : Ensemble de sommets (nœuds) et d'arêtes (liens) entre eux.
- Orienté (Directed)
- Non orienté (Undirected)
- Table de hachage (Hash Table) / Dictionnaire (Dictionary) : Stockent des paires clé-valeur, utilisant une fonction de hachage pour une recherche rapide.
System.Collections.Generic.Dictionary<string, int> ageByName = new System.Collections.Generic.Dictionary<string, int>(); ageByName.Add("Charlie", 30); int age = ageByName["Charlie"]; // Accès rapide par clé - Ensemble (Set) : Collection d'éléments uniques sans ordre spécifique.
System.Collections.Generic.HashSet<int> uniqueNumbers = new System.Collections.Generic.HashSet<int>(); uniqueNumbers.Add(5); uniqueNumbers.Add(10); uniqueNumbers.Add(5); // Le doublon ne sera pas ajouté
- Arbre (Tree) : Structure hiérarchique avec un nœud racine et des descendants.