Quelles sont les structures de données existantes?
sobes.tech IA
Réponse de l'IA
Tableaux, listes, piles, files d'attente, arbres, graphes, tables de hachage.
Tableau: Collection d'éléments du même type, stockés dans des cellules mémoire contiguës. Accès par index.
Liste: Collection séquentielle d'éléments. Peut être simple ou doublement chaînée. Ajouter/supprimer au milieu est plus efficace qu'avec un tableau.
Pile: Structure LIFO (Last-In, First-Out). Opérations : push (ajouter), pop (retirer du fin), peek (voir l'élément supérieur).
File d'attente: Structure FIFO (First-In, First-Out). Opérations : enqueue (ajouter à la fin), dequeue (retirer du début), peek (voir le premier élément).
Arbre: Structure hiérarchique de données. Racine, nœuds, descendants. Exemple : arbre binaire de recherche.
Graphe: Ensemble de sommets (nœuds), connectés par des arêtes. Peut être orienté ou non, pondéré ou non.
Table de hachage: Collection de paires clé-valeur. Utilise une fonction de hachage pour un accès rapide (en moyenne). Collisions possibles.
Exemples d'utilisation en iOS:
- Tableaux :
Array - Listes : pas de classe intégrée, implémentées à partir de tableaux ou de structures personnalisées
- Piles/Files d'attente : implémentées à partir de tableaux ou de listes
- Arbres : utilisés dans des frameworks, par exemple dans l'UI (hiérarchie de vues)
- Graphes : pour représenter des relations, par exemple des réseaux
- Tables de hachage :
Dictionary,Set
// Exemple de tableau
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Accès par index
// Exemple de dictionnaire (table de hachage)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Accès par clé