Académique Documents
Professionnel Documents
Culture Documents
Interrogation 2 VF
Interrogation 2 VF
EXERCISE 1 (6
(6 POINTS). We want to represent a binary number using a Doubly Linked List
(DLL) where each element contains a bit (either 0 or 1).
1/2
EXERCISE 3 (4 POINTS).
Let F be a dynamic queue representing a text, where each node contains a text fragment and its type as
follows:
Assuming that the queue F exists (already created), write the following iterative modules using the
dynamic queue (MQueue.h) and static stack (MStack.h) model:
1. void CleanUp(Queue* F): Cleans up the queue F from empty characters and punctuation
characters. You can only use one additional queue.
2. bool CheckDelimiter(Queue* F): Checks if the text is correctly delimited, meaning if all
parentheses, brackets, and braces are properly closed by a character of the same type (example of
correct closure: {([])[{}()]}), and if the parentheses, brackets, and braces are correctly nested
(example of incorrect nesting: ({)}). You can only use one stack and one additional queue.
queue.
2/2
Université Saad Dahlab de Blida 1 Module : Algorithmique 2
Faculté des Sciences Mai 2024
Département d’Informatique Interrogation 2
1ère Ingénieur Durée : 1h30 mn
EXERCICE 1 (6 POINTS).
POINTS) On convient de représenter un nombre binaire par une Liste Linéaire
Chaînée bidirectionnelle (Doubly Linked List, DLL) où chaque élément contient un bit (soit 0 ou 1).
1/2
EXERCICE 3 (4 POINTS).
POINTS)
Soit F une File dynamique représentant un texte où chaque maillon contient un fragment du texte et son
type comme suit :
Supposant que la file F est déjà créée, écrire les modules itératifs suivants en utilisant le modèle des files
dynamique (MQueue.h) et des piles statiques (MStack.h):
7. void CleanUp(Queue* F) : permet de nettoyer la file F des caractères vides et des caractères de
ponctuation. Vous ne pouvez utiliser qu’une seule autre file.
8. bool CheckDelimiter(Queue*F): de vérifier si le texte (qui est dans F) est correctement délimité,
c’est-à-dire si toutes les parenthèses, crochets et accolades sont bien refermés par un caractère du
même type (exemple d’une fermeture correcte : {([])[{}()]}), et si les parenthèses, crochets et
accolades sont correctement imbriqués (exemple d’une imbrication incorrecte : ({)}. Vous ne
pouvez utiliser qu’une seule pile et une autre file.
2/2