Algorithmique et structures de données : pack de révision

Formulaires, étapes clés de la méthode pour chaque thème et 6 exercices, avec les corrigés complets à la fin.

Nouveaux exercicesRetour au cours

Dans la fenêtre d’impression, choisissez « Enregistrer au format PDF » pour garder une copie sur votre appareil.

1Formules et méthodes

Théorie des graphes

Lemme des poignées de main
Σ deg(v) = 2|E|
Graphes complets
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Graphe régulier
|E| = n·k/2
Arbre et forêt
|E| = n − 1, |E| = n − c
Feuilles d’un arbre
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
circuit : tous les degrés pairs ; chemin : exactement 2 degrés impairs
Circuits hamiltoniens dans Kn
(n − 1)!/2
Mise à jour de Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Marches de longueur L
(Mᴸ)ij

Méthode

  1. Notez le degré de chaque sommet ; la somme des degrés vaut deux fois le nombre d’arêtes.
  2. Pour les questions d’Euler, vérifiez que le graphe est connexe et comptez les sommets de degré impair.
  3. Pour les arbres, utilisez n − 1 arêtes et le lemme des poignées de main.
  4. Pour Dijkstra, tenez un tableau des distances provisoires et fixez à chaque tour le sommet non fixé de plus petite distance.
  5. Pour un arbre couvrant minimal, triez les arêtes par poids et sautez toute arête qui ferme un cycle (Kruskal), ou faites croître un arbre à partir d’un sommet de départ (Prim).

2Exercices

1.Algorithmes et complexitéMoyen

Le parcours en largeur (BFS) sur un graphe non pondéré trouve :

  1. ALes plus courts chemins dans les graphes qui contiennent des poids d'arêtes négatifs
  2. BLes plus courts chemins en nombre d'arêtes depuis le nœud de départ
  3. CUn ordre topologique dans tous les graphes
  4. DL'arbre couvrant de poids minimal
2.Algorithmes et complexitéDifficile

Lequel de ces problèmes de satisfiabilité est connu pour être résoluble en temps polynomial ?

  1. ASAT général sur des formules en forme normale conjonctive
  2. B2-SAT, où chaque clause a au plus deux littéraux
  3. C3-SAT, où chaque clause a exactement trois littéraux
  4. DLa satisfiabilité de circuits
3.Structures de donnéesMoyen

Que se passe-t-il lorsqu'une table de hachage est rehachée après que son facteur de charge a dépassé un seuil ?

  1. ALes clés les plus anciennes sont supprimées pour faire de la place
  2. BSeules les clés en collision sont déplacées dans une nouvelle liste de débordement à la fin de la table
  3. CLes clés existantes sont triées sur place
  4. DUne table plus grande est allouée et chaque clé y est réinsérée
4.Structures de donnéesDifficile

Combien de temps faut-il pour rechercher une clé quelconque dans un tas binaire min de n éléments ?

  1. AO(1)
  2. BO(log log n)
  3. CO(n)
  4. DO(log n)
5.Théorie des graphesMoyen

Un arbre a 3 sommets de degré 3, 2 sommets de degré 4, 3 sommets de degré 5, et tous ses autres sommets sont des feuilles (degré 1). Combien de feuilles L a-t-il ?

3 × deg 32 × deg 43 × deg 5
L =
6.Théorie des graphesDifficile
ABCDE

Combien de marches de longueur 3 vont de E à C ? Une marche peut répéter des sommets et des arêtes. Appelez ce nombre N.

M = matrice d’adjacenceL = 3
N =

3Solutions

1.Algorithmes et complexité

Réponse: B · Les plus courts chemins en nombre d'arêtes depuis le nœud de départ

Pourquoi c'est la réponse

BFS visite les nœuds par ordre de distance (en arêtes) depuis la source ; il trouve donc les plus courts chemins non pondérés en O(V + E).

Réponse

B · Les plus courts chemins en nombre d'arêtes depuis le nœud de départ
2.Algorithmes et complexité

Réponse: B · 2-SAT, où chaque clause a au plus deux littéraux

Pourquoi c'est la réponse

2-SAT est dans P (temps linéaire via les composantes fortement connexes), tandis que 3-SAT est NP-complet.

Réponse

B · 2-SAT, où chaque clause a au plus deux littéraux
3.Structures de données

Réponse: D · Une table plus grande est allouée et chaque clé y est réinsérée

Pourquoi c'est la réponse

Comme l'indice est calculé modulo la taille de la table, toutes les clés doivent être rehachées dans la nouvelle table, plus grande ; en doublant la taille, le coût reste O(1) amorti.

Réponse

D · Une table plus grande est allouée et chaque clé y est réinsérée
4.Structures de données

Réponse: C · O(n)

Pourquoi c'est la réponse

Un tas ne donne aucune règle sur le sous-arbre qui contient une clé, donc dans le pire cas tous les nœuds doivent être examinés ; seul le minimum se trouve rapidement.

Réponse

C · O(n)
5.Théorie des graphes

Réponse: L = 18

Euler, Hamilton et arbres : un graphe connexe a un circuit eulérien (chaque arête une fois, retour au départ) quand tous les sommets ont un degré pair, et un chemin eulérien qui n’est pas un circuit quand exactement deux sommets ont un degré impair ; le chemin va alors d’un sommet impair à l’autre. Un circuit hamiltonien visite chaque sommet une fois ; Kn en a (n − 1)!/2. Un arbre à n sommets a n − 1 arêtes, et un graphe connexe à m arêtes conserve un arbre couvrant après suppression de m − n + 1 arêtes.

Lemme des poignées de main pour un arbre

L + 32 = 2(L + 8) − 2
L = 18

Réponse

L = 18

Raccourci : L = 2 + Σ (d − 2) sur les sommets de degré d ≥ 3.

6.Théorie des graphes

Réponse: N = 7

Degrés : le degré d’un sommet est le nombre d’arêtes qui y aboutissent. Chaque arête a deux extrémités, donc les degrés totalisent deux fois le nombre d’arêtes : Σ deg(v) = 2|E| (le lemme des poignées de main). Le nombre de sommets de degré impair est donc pair. Kn a n(n − 1)/2 arêtes, un graphe k-régulier à n sommets en a nk/2, et un arbre à n sommets a n − 1 arêtes.

Matrice d’adjacence

A: 0 1 1 0 0
B: 1 0 1 1 1
C: 1 1 0 0 1
D: 0 1 0 0 1
E: 0 1 1 1 0

Un pas de plus

(M³)EC = 2·1 + 2·1 + 1·0 + 1·0 + 3·1 = 7

Réponse

N = 7

ExamProblems · examproblems.com/courses/data-structures-and-algorithms