Skip to content

Chapitre 9 : Techniques de structurations de la mémoire

Pour structurer un ensemble de valeurs en mémoire, on utilise deux techniques :

  • Relations arithmétiques entre les adresses de valeurs.
    • Tableau ;
    • Struct (implicite) : permet de mettre des valeurs cote a cote dans la mémoire.
  • Mémoriser les adresses (pointeurs)

Souvent en même temps.


Exemple

Sudoku (avec des pointeurs)


Soduko (avec des relations arithméthiques)

Case (0,0) (0,1) (0,8) (1,10) ( ?, ?) (8,8)
Indice 0 1 2 3 8 9 77 80

\(9 \times 9 = 81\)


C 0 1 2 3 4 5 6 7 8
L
0 0 1 2 3 4 5 6 7 8
1 9 10 11 12 13 14 15 16 17
2
3
4
5
6
7
8 80

\(C : colonne : \{0,…,8\}\)

\(L : ligne : \{0,…,8\}\)

\(i : indice\)

\((l,c)\)

\(i= c +9*l\)

\(i= 8+9*8 = 10*8 = 80\)

\(c = i\%9\)

\(l = i/9\) -> en C la partie entière inferieur au quotient


Arbres (avec des tableaux)

Valeur 3 9 1 7 8
Gauche 2 -1 -1 0 -1
Droit -1 -1 4 1 -1
Indice 0 1 2 3 4 5 6 7

Autre manière de représenter un arbre

Noeud 3 1 4 7 2 8 9 0 7
Indice 0 1 2 3 4 5 6 7 8

\(Parent(i) = (i-1)/2\)

\(EnfantD(i) = ?\)

\(EnfantG(i) = ?\)