

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Examens de algorithme université yahaia fares medea
Typology: Exams
1 / 2
This page cannot be seen from the preview
Don't miss anything!


Page 1/
Université de Ghardaia 2021- Département des Mathématiques et d’Informatique 31/01/ 2 ème^ Année Informatique (Semestre 3) Durée : 01H 30mn
Les documents et téléphones portables sont interdits.
Supposons que nous implémentons une table de symboles (avec int keys et double values) en utilisant un arbre binaire de recherche (Binary Search tree) avec le type de données suivant :
public class BinarySearchTree { private Node root; // root of BST private int n; // number of nodes in BST
private static class Node { private Node left; // left subtree private Node right; // right subtree private int key; // symbol table key (clé) private double value; // symbol table value (valeur) } ... }
En utilisant un modèle de coût mémoire 64-bits :
Soit deux listes chaînées ( L1 et L2) de nombres réels, les valeurs de chacune de ces listes sont
supposées triées par ordre croissant.
Écrire un algorithme (itératif) qui fusionne ces deux listes en une troisième liste (L3). Cette
troisième liste devra contenir exactement les valeurs des listes d’origine, et ces valeurs devront elles
aussi être triées par ordre croissant.
N.B. :
La liste L3 doit utiliser les maillons des listes L1 et L2 (Elle ne doit pas créer de nouveaux maillons pour les valeurs de L1 et L2). Votre approche doit faire un seul parcours des deux listes L1 et L2.
Page 2/
Par exemple, la fusion de
L
Donnera
L
1.0 1.4 2.1 5.2 7.2 8.1 9.
2.0 2.2 2.5 2.9 3.9 4.8 5.2 6.0 7.
1.0 1.4 2.0 2.1 2.2 2.5 2.9 3.9 4.8 5.2 5.2 6.0 7.2 7.7 8.1 9.