Looking for TI301 - Structures des Données et Programmation 2 test answers and solutions? Browse our comprehensive collection of verified answers for TI301 - Structures des Données et Programmation 2 at efreussite.fr.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
Soient les algorithmes suivants :
algorithme algo1(temp : t_cell *)
si temp ≠ NULL
afficher(temp->value) // on affiche aussi un espace à la suite de la valeur
algo1(temp->next)
afficher(temp->value) // on affiche aussi un espace à la suite de la valeur
algorithme algo2(liste : t_list)
algo1(liste.head)
Quel est l'affichage obtenu si on utilise algo2() sur la liste ?
Nous y sommes presque ! Nous avons une liste t_ht_list sans la valeur que l'on voulait retirer. On souhaite obtenir, à la fin, une liste simple de type t_std_list (ou t_list, c'est le même type).
Soit my_ht_list la liste 'head' and 'tail' avec les valeurs qui nous intéressent
Soit my_list la liste 'simple', initialement vide :
var my_list my_list <- EmptyStdList()
Quelle instruction permet de faire en sorte que my_list stocke les mêmes valeurs que my_ht_list ?
On repart de la configuration originale de l'arbre :
On choisit d'effectuer une rotation droite sur la racine, stockant la valeur 15. A la suite de cette opération, quelle affirmation est vraie ?
Soit l'arbre suivant :
Le noeud E est-il toujours traité/visité avant le noeud D, lors les parcours préfixe, infixe et postfixe ?
On effectue une rotation droite sur le noeud '13' puis une rotation gauche sur le noeud '7'
Après ces opérations, quelles sont les propriétés de l'arbre ainsi modifié ?
On repart de la configuration originale de l'arbre :
On choisit d'effectuer une rotation droite sur la racine, stockant la valeur 15. A la suite de cette opération, quelle affirmation est vraie ?
Soit l'arbre suivant :
Le noeud E est-il toujours traité/visité avant le noeud D, lors les parcours préfixe, infixe et postfixe ?
Soit une file implémentée avec le type t_queue_tab, tableau à deux indices.
Cette file n'est manipulée qu'avec les fonctions standard enqueue() et dequeue(), bien écrites.
Parmi les affirmations suivantes, laquelle est fausse ?
On souhaite afficher les valeurs stockées dans une file, en commençant par le premier élément qui va être défilé.
La fonction que l'on souhaite écrire est récursive, et la plus simple possible.
Illustration : par exemple, pour une file d'attente dans un magasin, on commence par le client qui va passer à la caisse, puis les suivants, dans l'ordre d'attente.
La file est implémentée avec une liste 'head' and 'tail' : t_ht_list
Dans cette fonction récursive d'affichage, comment sont organisées les instructions d'affichage et d'appel récursif (quand la fonction s'appelle elle-même) ?
On utilise 2 piles, pile1 et pile2 avec les états initiaux suivants
pile1 : 2 est sur le 'dessus' de la pile : c'est le premier élément qui sera dépilé
pile1-> | 2 | 3 | 9 | + | x | 6 | + |
pile2 est vide
On utilise l'algorithme suivant :
tant que pile1 n'est pas vide
valeur <- dépiler(pile1)
si valeur est un nombre
empiler(pile2, valeur)
sinon (valeur est un opérateur ,addition ou mulitplication)
val1 <- depiler(pile2)
val2 <- depiler(pile2)
resultat <- appliquer l'opérateur sur val1 et val 2 (val1+val2 si c'est une addition, val1 x val2 si c'est une multiplication)
empiler(resultat, pile2)
Quelle sera la valeur stockée dans pile2 à la fin de l'algorithme ?