• Aucun résultat trouvé

Mettez toute de suite votre nom et code permanent dans la case (Figure 1

N/A
N/A
Protected

Academic year: 2022

Partager "Mettez toute de suite votre nom et code permanent dans la case (Figure 1"

Copied!
8
0
0

Texte intégral

(1)

SIGLE DU COURS: IFT 2010 (A05) NOM DU PROFESSEUR: Neil Stewart TITRE DU COURS: Structures de Donn´ees EXAMEN INTRA

Date : Lundi, 17 octobre, 2005 Heure : 10:30-12:30

Lieu : G-415 Pavillon principal

DIRECTIVES P ´EDAGOGIQUES:

– Vous disposez de deux heures pour compl´eter cet examen.

– Documentation permise: une page 8” x 11”, recto-verso.

– Mettez toute de suite votre nom et code permanent dans la case (Figure 1).

– R´epondez sur l’examen. Il y a deux pages brouillons (page 5 et page 8).

– L’espace allou´e pour la r´eponse indique la longueur de la r´eponse cherch´ee.

– Il y a 9 questions, avec 100 points au total: 2 + 3 + 5 + 7 + 11 + 13 + 17 + 19 + 23 = 100.

PLAGIAT.Constitue un plagiat:

– faire ex´ecuter son travail par un autre

– utiliser, sans le mentionner, le travail d’autrui

– ´ECHANGER DES INFORMATIONS LORS D’UN EXAMEN – falsifier des documents

(2)

1. Question 1 (2 points)

Si une pile est implant´ee dans un tableau, le coˆut de d´epiler est de quel ordre? C’est-`a-dire le coˆut est Θ(. . .)?

2. Question 2 (3 points)

Expliquez bri`evement pourquoi un algorithme qui ne se sert pas d’une pile explicite, mais qui se sert d’appels r´ecursifs, n’est pas vraiment un algorithme “sans pile”.

3. Question 3 (5 points)

Vers la fin du dernier cours avant l’intra, nous discutions de l’id´ee ce chaˆınage externe pour rˆegler les collisions, dans la m´ethode d’adressage dispers´e (“hashing”). Un ´etudiant a sugg´er´e qu’on pourrait garder ces listes tri´ees, et j’ai r´epondu “oui, comme ¸ca le coˆut moyen serait deux fois moins cher (du moins dans le cas d’une recherche ´echou´ee . . . )”.

Pourquoi ai-je ajout´e les mots “dans le cas d’une recherche ´echou´ee”?

(3)

D´emontrez formellement que |n2−17n−3025|est O(n2).

5. Question 5 (11 points)

(a) Une arborescence binaire avecdniveaux, telle qu’il n’y a aucun noeud qui manque, a exactementn= 2d+1−1 noeuds. Supposons maintenant une arborescence ternaire pour laquelle chaque noeud interne a exactement trois enfants, plutˆot que deux.

Combien de noeuds au total dans l’arborescence?

(b) Et pour une arboresecence “k-ary” pour laquelle chaque noeud interne a exactement k enfants: combien de noeuds dans l’arborescence au total?

(4)

6. Question 6 (13 points)

Dans la m´ethode d’adressage dispers´e (“hashing”), le nombre d’´el´ements emmagasin´e a

´et´e not´eN, et le nombre de cases dans la table a ´et´e not´e M. Par cons´equence, si les collisions sont rˆegl´ees par chaˆınage externe, la longueur moyenne d’une liste est N/M. Nous allons voir, apr`es l’intra, qu’on s’arrange dans la pratique pour garder cette valeur petite, dans le but de raccourcir les recherches dans les listes de collision. Supposons que nous soyons dans un cas o`u l’adressage dispers´e est appropri´e (pas de “range query”, etc), et que nous gardons la valeur de N/M quelquepart entre 5 et 10.

Les arborescences AVL ont ´et´e introduites dans le but de faire des recherches plus vites qu’on peut faire avec les listes lin´eaires chaˆın´ees. Commentez donc bri`evement l’id´ee suivante. Plutˆot que de rˆegler les collisions avec des listes lin´eaires chaˆın´ees, utilisons plutˆot des arborescences AVL. Cela veut dire que nous allons mettre, dans chaque case de la table de hˆachage, une r´ef´erence (ou pointeur) vers la racine d’une arborescence AVL; cette arborescence remplacerait la liste lin´eaire chain´ee.

(5)
(6)

7. Question 7 (17 points)

Dans la preuve que E = I + 2n, o`u E est “External path-length”, et I est “Internal path-length”, nous nous sommes servis du fait qu’il doit exister, dans n’importe quelle arborescence binaire de recherche non-vide, un noeud interne avec deux noeuds d’´echec comme enfants. Donnez la preuve que cela est vraie. (Indice: une preuve rigoreuse n’est pas n´ecessairement une preuve longue.)

8. Question 8 (19 points)

Donnez le pseudo-code pour l’algorithme Siftdown, qui permet `a refaire un monceau qui ne satisfait plus la propri´et´e monceau parce que la clef `a la racine a ´et´e remplac´ee par une clef trop petite. (Je prends le cas de MaxHeap.) Notons que Drozdek appelle cet algorithme moveDown:

void moveDown(Object[ ] data, int first, int last){ . . .

(Je vous donne cela pour ´etablir le contexte un peu plus pr´ecis´ement: une syntaxe Java parfaite n’est pas exig´ee, je vous demande du pseudo-code. Si vous voulez, vous pouvez supprimer first en supposant que la racine se trouve dans la case 0. Cet algorithme est utilis´e par exemple dans heapDequeueet dansHeapSort.)

(7)

(a) Donnez un exemple deType Abstrait de Donn´ees (`a votre choix).

(b) Indiquez les deux composantes principales du Type Abstract de Donn´ees (utilisez votre exemple pour illustrer).

(c) Du point de vue de quelqu’un qui ´etudie les structures de donn´ees, c’est quoi qui d´efinit le probl`eme `a r´esoudre?

(d) Donnez deux m´ethodes possibles pour r´esoudre ce probl`eme, dans le cas de l’exemple que vous avez choisi.

(8)

Page brouillon: cette page ne sera pas prise en compte lors de la correction.

Références

Documents relatifs

o écrire, en respectant les critères d’évaluation, un texte court expliquant l’expression « Voir loin, c’est voir dans le passé », texte qui sera à rendre sur feuille pour

En effet, non seulement l’”Essai sur les éléments de philosophie” n’est pas un ouvrage à proprement parler, puisqu’il constitue le quatrième volume

Notre seule question, en réalité, est de savoir si nous allons ainsi ouvrir réellement nos clas, ses sur la vie et tuer définitivement la scolas- tique sans

Défavorable au projet , comporte neuf thèmes différents Certains de ces thèmes sont spécifiques au dossier , d’autres plus généraux : potentiel éolien , d’ordre

mais, inopinément, Georgina était survenue ou avait appelé Mathurine, ou bien encore le vieux Fanche était apparu aux alentours, et Alix se

 Allez dans le menu Analyse, Comparer les moyennes, puis Test T pour échantillons indépendants..  Ensuite, vous insérez la ou les variables continues dans la boite Variable(s)

La programmation sur ordinateur ou calculatrice programmable d’une grille autoréférente est très simple mais elle enlève tout le plaisir de la recherche manuelle. Elle a pour

La programmation sur ordinateur ou calculatrice programmable d’une grille autoréférente est très simple mais elle enlève tout le plaisir de la recherche manuelle. Elle a pour