-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqcm_data.json
More file actions
284 lines (284 loc) · 17.6 KB
/
qcm_data.json
File metadata and controls
284 lines (284 loc) · 17.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
[
{
"question": "Le parcours BFS (parcour en largeur) visite-t-il tous les nœuds d'un graphe connexe ?",
"answer": true,
"explanation": "En partant d'un nœud, BFS visite tous les nœuds atteignables dans un graphe non orienté. Sur un graphe connexe, ce sont effectivement tous les nœuds.",
"visual_explanation": false
},
{
"question": "Dijkstra peut-il fonctionner correctement en présence d'arêtes de poids négatif ?",
"answer": false,
"explanation": "Dijkstra ne fonctionne pas correctement lorsque le graphe contient des poids négatifs. On utilise plutôt Bellman-Ford dans ce cas.",
"visual_explanation": false,
"graph_name": "Cycle Négatif"
},
{
"question": "Un graphe connexe à n sommets et n - 1 arêtes est-il toujours un arbre ?",
"answer": true,
"explanation": "Un graphe connexe à n sommets et n - 1 arêtes est un arbre. C'est une condition nécessaire et suffisante pour qu'un graphe connexe soit un arbre.",
"visual_explanation": false
},
{
"question": "Un graphe connexe à n sommets et n + 1 arêtes est-il toujours un arbre ?",
"answer": false,
"explanation": "Un graphe connexe à n sommets et n + 1 arêtes n'est pas un arbre. Un arbre a n - 1 arêtes, donc un graphe connexe à n sommets et n + 1 arêtes contient un cycle.",
"visual_explanation": false
},
{
"question": "Un DAG (graphe orienté acyclique) contient-il toujours au moins une source et au moins un puits ?",
"answer": true,
"explanation": "Chaque DAG contient au moins une source (sommet sans aucun arc entrant) et au moins un puits (sommet sans aucun arc sortant).",
"visual_explanation": false
},
{
"question": "Si un graphe orienté contient au moins une source, contient-il nécessairement au moins un puits ?",
"answer": false,
"explanation": "Si un graphe orienté contient au moins une source, alors il ne contient pas forcement un puits.",
"visual_explanation": false
},
{
"question": "Un DAG à n sommets contient-il toujours n composantes fortement connexes ?",
"answer": true,
"explanation": "Un DAG à n sommets contient exactement n composantes fortement connexes.",
"visual_explanation": false
},
{
"question": "Peut-on trouver un plus long chemin dans un DAG en multipliant tous les poids par -1 avant d'appliquer l'algorithme de Bellman-Ford ?",
"answer": true,
"explanation": "Pour trouver un plus long chemin dans un DAG, on peut multiplier tous les poids par -1, puis appliquer l'algorithme de Bellman-Ford.",
"visual_explanation": false
},
{
"question": "Un graphe biparti G avec bipartition (A, B) contient-il un couplage parfait si |N(X)| ≥ |X| pour tout sous-ensemble X ⊆ A ? (rappel : N(X) est l’ensemble des voisins des sommets dans X)",
"answer": false,
"explanation": "Un graphe biparti G avec bipartition (A, B) contient un couplage parfait si et seulement si |N(X)| ≥ |X| pour tout sous-ensemble X ⊆ A, ET que |A| = |B|",
"visual_explanation": false
},
{
"question": "Dans un graphe, la taille maximale d'un couplage est-elle toujours inférieure ou égale à deux fois la taille minimale d'un vertex cover ? (ou transversal : un sous-ensemble U des sommets tel que toute arête ait au moins une extrémité dans U). Alors, ν(G) ≤ τ (G) ≤ 2ν(G))",
"answer": true,
"explanation": "La taille maximale d'un couplage (ν(G)) et la taille minimale d'un vertex cover (τ(G)) respectent la relation ν(G) ≤ τ(G) ≤ 2ν(G).",
"visual_explanation": false
},
{
"question": "Si G est un graphe avec n sommets et m arêtes, est-il toujours vrai que m = O(n) ?",
"answer": false,
"explanation": "Pour un graphe général, le nombre d’arêtes m peut aller jusqu'à O(n²) dans le cas d’un graphe complet (n(n-1)/2). La relation m = O(n) est vraie seulement pour des graphes spécifiques.",
"visual_explanation": false
},
{
"question": "Un graphe orienté est-il un graphe orienté acyclique (DAG) si DFS (parcours en profondeur) ne trouve aucun arc transverse ?",
"answer": false,
"explanation": "Un graphe orienté est un DAG si et seulement si un parcours DFS ne trouve aucun arc retour.",
"visual_explanation": false
},
{
"question": "Un graphe orienté est-il un graphe orienté acyclique (DAG) si DFS (parcours en profondeur) ne trouve aucun arc retour ?",
"answer": true,
"explanation": "Un graphe orienté est un DAG si et seulement si un parcours DFS ne trouve aucun arc retour.",
"visual_explanation": false
},
{
"question": "Un graphe orienté à n sommets qui a moins de n composantes fortement connexes est-il toujours un DAG ?",
"answer": false,
"explanation": "Un graphe orienté à n sommets qui a moins de n composantes fortement connexes peut contenir des cycles, ce qui en fait un graphe non acyclique.",
"visual_explanation": false
},
{
"question": "L'algorithme de Bellman-Ford fonctionne-t-il uniquement sur les graphes avec des poids non négatifs ?",
"answer": false,
"explanation": "L'algorithme de Bellman-Ford fonctionne correctement même avec des poids négatifs, à condition qu'il n'y ait pas de cycle de poids négatif dans le graphe.",
"visual_explanation": false
}, {
"question": "L'algorithme de Bellman-Ford fonctionne-t-il sur les graphes avec des cycle a poids non négatifs ?",
"answer": true,
"explanation": "L'algorithme de Bellman-Ford fonctionne correctement à condition qu'il n'y ait pas de cycle de poids négatif dans le graphe.",
"visual_explanation": false
},
{
"question": "Si le nombre d'arêtes d'un graphe est impair, contient-il toujours au moins un sommet dont le degré n'est pas un multiple de 4 ?",
"answer": true,
"explanation": "La somme des degrés des sommets dans un graphe est égale à deux fois le nombre d’arêtes. Si le nombre d’arêtes est impair, au moins un sommet aura un degré impair, et donc pas un multiple de 4.",
"visual_explanation": false
},
{
"question": "Toute arête de poids minimum dans un graphe connexe pondéré appartient-elle à un arbre couvrant de poids minimum ?",
"answer": true,
"explanation": "Dans un graphe connexe pondéré, toute arête de poids minimum appartient à au moins un arbre couvrant de poids minimum, conformément à la propriété des arbres couvrants minimaux.",
"visual_explanation": false
},
{
"question": "Tout graphe avec n sommets et n - 1 arêtes est-il acyclique ?",
"answer": false,
"explanation": "Un graphe avec n sommets et n - 1 arêtes est un arbre si c'est CONEXE, mais sinon il peut contenir des cycles.",
"visual_explanation": false
},
{
"question": "L'algorithme de Prim fonctionne-t-il correctement lorsqu'il y a des arêtes de poids négatif ?",
"answer": true,
"explanation": "L'algorithme de Prim fonctionne correctement avec des poids négatifs, car il ne dépend pas des valeurs absolues des poids mais de leur ordre relatif.",
"visual_explanation": false
},
{
"question": "L'algorithme de Dijkstra fonctionne-t-il correctement lorsqu'il y a des arêtes de poids négatif ?",
"answer": false,
"explanation": "L'algorithme de Dijkstra ne fonctionne pas correctement avec des poids négatifs, car il suppose que tous les poids sont non négatifs pour garantir une solution optimale.",
"visual_explanation": false
},
{
"question": "L'algorithme de Floyd-Warshall peut-il être utilisé pour détecter un cycle négatif ?",
"answer": true,
"explanation": "L'algorithme de Floyd-Warshall peut être utilisé pour détecter des cycles de poids négatif en vérifiant si un sommet a une distance négative à lui-même après l'exécution de l'algorithme. (cad si D[i][i]<0)",
"visual_explanation": false
},
{
"question": "Toute arête de poids maximum dans un graphe connexe pondéré appartient-elle à un arbre couvrant de poids maximum ?",
"answer": true,
"explanation": "Dans un graphe connexe pondéré, toute arête de poids maximum appartient à au moins un arbre couvrant de poids maximum",
"visual_explanation": false
},
{
"question": "L'arête de poids maximum, si elle est unique, est-elle toujours dans au moins un couplage de poids maximum ?",
"answer": false,
"explanation": "Une arête de poids maximum unique peut ne pas être incluse dans un couplage de poids maximum si elle bloque la possibilité de construire un couplage globalement meilleur.",
"visual_explanation": false
},
{
"question": "L'arête de poids minimum, si elle est unique, n'est-elle jamais dans aucun couplage de poids maximum ?",
"answer": false,
"explanation": "Une arête de poids minimum unique peut être incluse dans un couplage de poids maximum si elle est nécessaire pour compléter le couplage.",
"visual_explanation": false
},
{
"question": "Soit n pair et G un graphe biparti tel que chacun des deux côtés a exactement n/2 sommets. Existe-t-il un couplage de poids maximum avec exactement n/2 arêtes ?",
"answer": false,
"explanation": "Il n'est pas garanti que le couplage de poids maximum ait exactement n/2 arêtes, cela dépend des poids des arêtes.",
"visual_explanation": false
},
{
"question": "Soit n pair et G un graphe biparti complet tel que chacun des deux côtés a exactement n/2 sommets. Existe-t-il un couplage de poids maximum avec exactement n/2 arêtes ?",
"answer": true,
"explanation": "Dans un graphe biparti complet équilibré, un couplage de poids maximum peut être obtenu avec exactement n/2 arêtes en sélectionnant les arêtes optimales.",
"visual_explanation": false
},
{
"question": "Soit n pair et G un cycle de longueur n. Tout couplage de poids maximum contient-il exactement n/2 arêtes et une arête sur deux le long du cycle ?",
"answer": false,
"explanation": "Dans un cycle, la structure du couplage de poids maximum peut ne pas correspondre à une arête sur deux selon les poids des arêtes.",
"visual_explanation": false
},
{
"question": "Soit n impair et G un chemin comprenant n - 1 arêtes. Tout couplage de poids maximum contient-il exactement (n - 1)/2 arêtes et une arête sur deux le long du chemin ?",
"answer": false,
"explanation": "Dans un chemin, le couplage de poids maximum peut ne pas correspondre à une arête sur deux, car cela dépend des poids des arêtes.",
"visual_explanation": false
},
{
"question": "Soit u un sommet de G de degré 1 (donc avec un seul voisin v). L'arête uv appartient-elle forcément à un couplage de poids maximum ?",
"answer": false,
"explanation": "Une arête uv ne fait pas nécessairement partie d’un couplage de poids maximum, car son inclusion dépend des autres arêtes et de leurs poids.",
"visual_explanation": false
},
{
"question": "L'algorithme suivant : Soit M un couplage. Répéter, jusqu’à ne plus pouvoir faire d’opération améliorante, l’opération suivante : trouver une arête e /∈ M telle que M ∪ {e} soit un couplage, choisir celle qui a le plus grand poids, et l’ajouter à M (c’està-dire M ← M ∪ {e}). Alors le résultat est un couplage de poids maximum",
"answer": false,
"explanation": "Cet algorithme peut ne pas garantir un couplage de poids maximum, car il ne vérifie pas les impacts globaux des ajouts d'arêtes sur le couplage.",
"visual_explanation": false
},
{
"question": "Dans un graphe orienté, une source est-elle toujours incluse dans un couplage maximal ?",
"answer": false,
"explanation": "Une source dans un graphe orienté peut ne pas être connectée aux autres sommets via des arêtes valides pour le couplage.",
"visual_explanation": false
},
{
"question": "L'arête ayant le poids médian dans un graphe pondéré appartient-elle toujours à un couplage de poids maximum ?",
"answer": false,
"explanation": "Le poids médian n'a aucune garantie d'appartenir à un couplage maximal, car la priorité est donnée à maximiser la somme des poids.",
"visual_explanation": false
},
{
"question": "Dans un graphe biparti où les sommets de chaque côté sont en nombre pair, est-il toujours possible de trouver un couplage parfait ?",
"answer": false,
"explanation": "Un couplage parfait est possible uniquement si chaque sommet d’un côté a au moins un voisin accessible dans l’autre côté.",
"visual_explanation": false
},
{
"question": "Peut-on utiliser un algorithme de parcours en largeur (BFS) pour trouver un couplage maximal dans un graphe biparti ?",
"answer": true,
"explanation": "il existe l'algorithme de Hopcroft-Karp ( pas vue en cour ) qui utilise BFS pour chercher des chemins augmentants et trouver un couplage maximal dans un graphe biparti.",
"visual_explanation": false
},
{
"question": "Un sommet isolé dans un graphe biparti peut-il être inclus dans un couplage maximal ?",
"answer": false,
"explanation": "Un sommet isolé, n'étant connecté à aucun autre sommet, ne peut pas être inclus dans un couplage.",
"visual_explanation": false
},
{
"question": "L'algorithme BFS (parcour en largeur) peut-il être utilisé pour trouver le plus court chemin dans un graphe non pondéré ?",
"answer": true,
"explanation": "BFS explore les sommets par niveau, ce qui garantit de trouver le plus court chemin en termes de nombre d'arêtes dans un graphe non pondéré.",
"visual_explanation": false
},
{
"question": "L'algorithme DFS (parcour en profondeur) est-il plus efficace que BFS pour détecter des cycles dans un graphe ?",
"answer": true,
"explanation": "DFS est généralement utilisé pour détecter des cycles dans un graphe, car il suit un chemin profond avant de revenir en arrière.",
"visual_explanation": false
},
{
"question": "L'algorithme de Kahn (tri topologique) fonctionne-t-il pour tous les graphes, même ceux qui contiennent des cycles ?",
"answer": false,
"explanation": "L'algorithme de Kahn ne fonctionne que pour les graphes acycliques dirigés (DAG) car il est basé sur un tri topologique.",
"visual_explanation": false
},
{
"question": "L'algorithme de Kosaraju (il me semble vue que en cours) peut-il être utilisé pour trouver les composantes fortement connexes dans un graphe orienté ?",
"answer": true,
"explanation": "L'algorithme de Kosaraju est conçu pour identifier les composantes fortement connexes dans un graphe orienté.",
"visual_explanation": false
},
{
"question": "L'algorithme de BFS (parcour en largeur) peut-il traiter des graphes contenant des poids négatifs ?",
"answer": true,
"explanation": "BFS n'a pas de notion de poids, il peut donc être utilisé pour traiter des graphes avec des poids négatifs.",
"visual_explanation": false
},
{
"question": "L'algorithme de Floyd-Warshall est-il efficace pour trouver le plus court chemin entre toutes les paires de sommets dans un graphe dense ?",
"answer": true,
"explanation": "Floyd-Warshall est particulièrement adapté aux graphes denses, car il utilise une matrice d'adjacence pour calculer les plus courts chemins entre toutes les paires.",
"visual_explanation": false
},
{
"question": "L'algorithme de Johnson peut-il être utilisé pour trouver le plus court chemin entre toutes les paires dans un graphe avec des poids négatifs ?",
"answer": true,
"explanation": "L'algorithme de Johnson (c'est comme Floyd-Warshall) est conçu pour fonctionner avec des poids négatifs en ré-échelonnant les poids pour les rendre non négatifs.",
"visual_explanation": false
},
{
"question": "L'algorithme de Kruskal est-il basé sur une structure d'ensemble disjoint pour trouver un arbre couvrant minimal ?",
"answer": true,
"explanation": "Kruskal utilise une structure d'ensemble disjoint (Union-Find) pour sélectionner les arêtes de poids minimal tout en évitant les cycles.",
"visual_explanation": false
},
{
"question": "L'algorithme de Prim est-il plus efficace que celui de Kruskal pour un graphe dense ?",
"answer": true,
"explanation": "Pour les graphes denses, Prim est généralement plus efficace car il peut exploiter une structure de tas pour sélectionner les arêtes rapidement.",
"visual_explanation": false
},
{
"question": "Un graphe G est eulérien si et seulement si G est connexe, et tout sommet de G est de degré pair?",
"answer": true,
"explanation": "definition du cour 9.",
"visual_explanation": false
},
{
"question": "Soit f un flot et (A, B) une s - t coupe quelconques. Alors, la valeur de f est inférieure ou égale à la capacité de la coupe ?",
"answer": true,
"explanation": "definition du cour 7.",
"visual_explanation": false
}
]