Numérique et Sciences Informatiques • 1ère

Indexation et accès direct

Indexation
Accès(T[i]) = O(1)
Temps constant d'accès à un élément
Définition :
Indexation : système d'attribution d'identifiants numériques (indices) aux éléments d'une structure de données pour permettre un accès direct.
Caractéristiques :
🏷️ Indices numériques
⚡ Accès instantané
📍 Position fixe
📏 Bornes définies
Structures concernées :
✅ Tableaux
✅ Listes
✅ Matrices
✅ Chaînes de caractères
Accès direct
O(1) : temps constant
📍
Adresse calculée : position = base + i*taille
🔍
Accès immédiat : T[i]
📊
Efficacité maximale : algo optimal
Indices et positions
0️⃣
Premier élément : indice 0
🔢
Dernier élément : indice n-1
📏
Taille de la structure : n
Algorithmes efficaces
🔍
Accès direct à un élément
🔢
Calcul d'adresse
🔄
Accès aléatoire
🎯
Recherche par indice
Exemples de code
# Tableau statique T = [10, 20, 30, 40, 50] # Accès direct en O(1) element = T[2] # Récupère 30 T[2] = 100 # Modifie à 100 # Chaîne de caractères chaine = "NSI" lettre = chaine[1] # 'S' # Matrice 2D matrice = [[1,2],[3,4]] element = matrice[0][1] # 2
Limites et contraintes
⚠️
Dépassement : indices valides seulement
🔒
Immuabilité : certaines structures
📏
Taille fixe : tableaux
Erreurs fréquentes
Erreur 1 :
Dépassement d'indice
T = [1, 2, 3]
val = T[3] # IndexError!
Erreur 2 :
Indices négatifs mal utilisés
T[-1] # Dernier élément (OK)
T[-4] # IndexError si taille = 3
Erreur 3 :
Confusion entre indice et valeur
for i in range(len(T)): # Indice
for element in T: # Valeur
Structures de données simples Algorithmique et programmation