Sobes.tech
Junior

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é