Quiz Piles, queues, Dijkstra et RPN
Quel est le résultat de ce programme ?
vector<int> v{ 1, 2, 3 };
stack<int> s;
for (auto i : v)
s.push(i);
while (!s.empty()) {
cout << s.top();
s.pop();
} 321
Quel est le résultat de ce programme ?
vector<int> v{ 1, 2, 3 };
queue<int> q;
for (auto i : v)
q.push(i);
while (!q.empty()) {
cout << q.front();
q.pop();
} 123
On applique l'algorithme de Dijkstra à deux piles à l'expression
( ( ( 3 * 2 ) + 1 ) * ( ( 6 * 4 ) + 5 ) )
Quel est l'état de la pile des valeurs après l'insertion du 4 ?
(Ecrire la pile avec le sommet à droite, et un blanc entre chaque valeur)
7 6 4
On applique l'algorithme de Dijkstra à deux piles à l'expression
( ( ( 3 * 2 ) + 1 ) * ( ( 6 * 4 ) + 5 ) )
Quel est l'état de la pile des opérateurs après l'insertion du 4 ?
(Ecrire la pile avec le sommet à droite, et un blanc entre chaque opérateur)
* *
Réécrivez l'expression suivante en notation polonaise inverse
( ( ( 3 * 2 ) + 1 ) * ( ( 6 * 4 ) + 5 ) )
Laisser un blanc entre chaque valeur / opérateur
3 2 * 1 + 6 4 * 5 + *
Quelle est le résultat de l'évaluation de l'expression écrite en notation polonaise inversée ?
1 2 5 4 - + 5 3 - * +
7