+ All Categories
Home > Documents > LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 :...

LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 :...

Date post: 11-Oct-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
17
IFT2015 :: H19 Miklós Cs ˝ urös 11 avril 2019 15. IFT2015 Structures de données: Liste détaillée de sujets 1 1 Detailed List of Subjects for the Final Examination — English translation starts on Page 10 F0 Introduction L E BUT DE CE DOCUMENT est de définir les compétences et connais- sances requises dans le cours IFT2015 à l’examen final. L’examen constitue également la deuxième partie de l’examen pré-doctorale en structures de données (sous le sigle IFT6002). J’ai marqué les connaissances par niveau de maîtrise correspondant : ? satisfaisant ( 50% des exercices à l’examen), ?? bon ( 25%), ??? excellent ( 25%). Les notes marginales sont des références aux ouvrages suivants SW Sedgewick, R. et K. Wayne. Algorithms,4 e édition (Addison- Wesley, 2011). L’examen porte sur le matériel des chapitres 1, 2 et 3, et de sections 4.1, 4.2, 5.1, 6.2 (B-trees). CLR Cormen, T., E. L. Leiserson, R. L. Rivest, et C. Stein. Algorith- mique,3 e édition (Dunod, 2010). L’examen porte sur le matériel couvert dans chapitres 1–3, 6–8, 10–13, 18 et 21. Les notes de cours, présentations, et des liens vers ressources en-ligne sont affichés sur le site http://ift2015h19.wordpress.com/. Aucune documentation ne sera permise à l’examen final.
Transcript
Page 1: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 :: H19 Miklós Csurös 11 avril 2019

15. IFT2015 Structures de données: Liste détaillée de sujets1 1 Detailed List of Subjects for the FinalExamination — English translation starts onPage 10

F0 Introduction

LE BUT DE CE DOCUMENT est de définir les compétences et connais-sances requises dans le cours IFT2015 à l’examen final. L’examen constitueégalement la deuxième partie de l’examen pré-doctorale en structures dedonnées (sous le sigle IFT6002).5 J’ai marqué les connaissances par niveau de maîtrise correspondant :

? satisfaisant ( 50% des exercices à l’examen),?? bon ( 25%),? ? ? excellent ( 25%).

8 Les notes marginales sont des références aux ouvrages suivants

SW Sedgewick, R. et K. Wayne. Algorithms, 4e édition (Addison-Wesley, 2011). L’examen porte sur le matériel des chapitres 1, 2 et 3,et de sections 4.1, 4.2, 5.1, 6.2 (B-trees).

CLR Cormen, T., E. L. Leiserson, R. L. Rivest, et C. Stein. Algorith-mique, 3e édition (Dunod, 2010). L’examen porte sur le matérielcouvert dans chapitres 1–3, 6–8, 10–13, 18 et 21.

G Les notes de cours, présentations, et des liens vers ressources en-lignesont affichés sur le site http://ift2015h19.wordpress.com/.

H Aucune documentation ne sera permise à l’examen final.

Page 2: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 2

F1 Principes d’analyse d’algorithmes

Références. Sedgewick & Wayne §1.42 2 http://algs4.cs.princeton.edu/14analysis/

. Cormen, Leiserson, Rivest & Stein chapitres 1–3

. Notes sur l’analyse d’algorithmes : handout06-analyse.pdf. Diapos:prez06-analysis.pdf.

Sujets? Principes de base : pire cas, meilleur cas, moyen cas. CLR 1

? Validation expérimentale de temps de calcul.? Ordres de croissance communs : constante, logarithmique, linéaire,

linéarithmique (n log n), quadratique, cubique, polynomiale, exponen-tielle.

? Notation asymptotique3 : petit o( f ), f ∼ g, grand O( f ) 3(fr):comparaison asymptotique

limn→∞

f (n)g(n)

= 0 ⇔ f (n) = o(

g(n));

limn→∞

f (n)g(n)

= 1 ⇔ f (n) ∼ g(n)

?? Approximations notables : factorielle et la formule de Stirling4, 4 n! = ∏ni=1 i ∼

√2πn

(ne

)n; lg(n!) ∼

n lg nnombres harmoniques5.5 Hn = ∑n

i=1 1/i ∼ ln n?? Détermination du temps de calcul et d’usage de mémoire pour algo-rithmes (itératifs) simples, et pour algorithmes récursifs (comme expres-sion récursive). CLR 2

?? Notion de temps amorti.? ? ? Preuves de résultats sur le coût amorti d’opérations. Principe d’ana- CLR§17.4

lyse crédit/débit6. 6(en):accounting method

Page 3: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 3

F2 Structures élémentaires et types abstraits

Références. Sedgewick & Wayne §1.17, §1.28, §1.39 7 http://algs4.cs.princeton.edu/11model/

8 http://algs4.cs.princeton.edu/12oop/9 http://algs4.cs.princeton.edu/13stacks/

. Cormen, Leiserson, Rivest & Stein §10.1, §10.2

. Notes sur les types abstraits : handout02-tad.pdf. Diapos: prez02-tad.pdf.

. Notes sur les tableaux : handout03-tableaux.pdf. Diapos: prez03-tableaux.pdf.

. Notes sur les listes : handout04-chaining.pdf. Diapos: prez04-chaining.pdf.

Sujets? Notions de type abstrait, interface, implantation, client. SW§1.2

? Types abstraits de files généralisées, piles et queues/files FIFO.? Listes chaînées10. Variations : listes circulaires, doublement chaînées. 10

(fr):liste chaînéeCLR§10.2Sentinelles11 pour la tête et/ou la queue. Techniques algorithmiques :11

(en):sentinelparcours, manipulation d’éléments sur la liste, insertion et suppression.? Tableaux12. Techniques algorithmiques : parcours, décalage de contenu 12

(fr):tableau

de cellules.? Implantations de pile et de queue par tableaux ou listes chaînées. Ef- SW§1.3 ;CLR§10.1

ficacité d’implantations différentes (temps de calcul pour les opérationsstandardes). Débordement.

Page 4: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 4

F3 Arbres

Références. Cormen, Leiserson, Rivest & Stein §10.4.. Notes sur le tas : handout05-heap.pdf. Diapos: prez05-pq.pdf.. Notes sur l’arbre binaire de recherche : handout10-abr.pdf. Diapos:

prez10-abr.pdf.

Sujets? Terminologie pour structures arborescentes : arbre k-aire, hauteur,

niveau, profondeur. Implémentation d’un arbre. CLR§10.4

? Propriétés d’arbres binaires (relations entre le nombre de nœuds interneset externes ou la hauteur). Arbre binaire complet.

? Parcours d’un arbre : préfixe/préordre, infixe/dans l’ordre, post-fixe/postordre, ordre de niveau.

? Algorithmes récursifs sur les arbres : calcul de taille, hauteur ou profon-deur de sous-arbres.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

F4 Algorithmes sur graphes

Références. Sedgewick & Wayne §4.113, §4.214 13 http://algs4.cs.princeton.edu/41graph/

14 http://algs4.cs.princeton.edu/42digraph/. Cormen, Leiserson, Rivest & Stein chapitre 22. Notes sur les graphes : handout14-graphes.pdf. Diapos: prez14-graphes.pdf.

Sujets? Représentation d’un graphe : matrice d’adjacence et listes d’adja- SW§4.1 ;CLR§22.1

cence15. 15(en):adjacency list

? Parcours d’un graphe par profondeur16 et par largeur17. SW§4.1 ;CLR§22.216

(fr):parcours en profondeur17

(fr):parcours en largeur?? Applications de parcours : composantes connexes, bipartition, tri

topologique18, plus courts chemins (à partir d’une source).18

(fr):tri topologique

SW§4.2 ;CLR§22.4

Page 5: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 5

F5 Appartenance-union

Références. Sedgewick & Wayne §1.519 19 http://algs4.cs.princeton.edu/15uf/

. Cormen, Leiserson, Rivest & Stein §21.1–21.4

. Notes sur Union-Find : handout01-unionfind.pdf.

Sujets? Problème de connexité, TA et opérations d’appartenance-union.? Structure Union-Find20. Techniques algorithmiques : union-par- 20

(fr):union-findSW§1.5rang/union-par-taille, compression de chemin.

?? Logarithme itéré log∗ n ; coût amorti d’opérations : O(log∗(n)) pourUnion-Find avec union équilibrée et compression de chemin

? ? ? Fonction d’Ackermann21 et son inverse. 21(fr):fonction d’Ackermann

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

F6 File de priorité

Références. Sedgewick & Wayne §2.422 22 http://algs4.cs.princeton.edu/24pq/

. Cormen, Leiserson, Rivest & Stein chapitre 6

. Notes sur la file de priorité : handout05-heap.pdf. Diapos: prez05-pq.pdf.Diapos: prez05b-heap2.pdf.

Sujets? Type abstrait de file de priorité23 min-tas/max-tas : opérations insert, 23

(en):priority queue

deleteMin ou deleteMax. Implantations par tableau ou liste chaînée.? Arbre en ordre de tas24. Tas binaire25, sa représentation dans un ta- 24

(fr):tasSW§2.425

(fr):tas binairebleau.

?? Manipulation du tas : nager/swim et couler/sink (heapisation montanteet descendante).

? heapify (établissement de l’ordre de tas dans un tableau) ; tri par tas26, 26(fr):tri par tas

son temps de calcul et usage de mémoire.? ? ? Tas d-aire27. 27

(en):d-ary heap

Page 6: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 6

F7 Méthodes de tri

Références. Sedgewick & Wayne §2.128, §2.229, §2.330, §5.131. 28 http://algs4.cs.princeton.edu/

21elementary/29 http://algs4.cs.princeton.edu/22mergesort/30 http://algs4.cs.princeton.edu/23quicksort/31 http://algs4.cs.princeton.edu/51radix

. Cormen, Leiserson, Rivest & Stein chapitres 2 et 7, §8.1–8.3.

. Notes sur les tris : handout07-sorting.pdf. Diapos: prez07-sorting.pdf.Diapos: prez12-externe.pdf.

. Notes sur l’analyse d’algorithmes : handout06-analyse.pdf. (temps decalcul pour tri par tas et tri par fusion) Diapos: prez06-analysis.pdf.

Sujets? Terminologie : tri interne et externe.? Tris élémentaires : tri par sélection32 et tri par insertion33. Leurs perfor- SW§2.1

32(fr):tri par sélection

33(fr):tri par insertion

mances (pire cas, meilleur cas, cas moyen).? Fusion de 2 tableaux triés.? Tri par fusion34 (descendant), sa performance. SW§2.2

34(fr):tri fusion? Tri rapide35 : algorithme de base.

35(fr):tri rapide

SW§2.3?? Améliorations : partition par la médiane-de-trois, petits sous-fichiers,

arrangement bitonique.? Performances du tri rapide (pire cas, meilleur cas, cas moyen) SW§2.3 ; CLR 7

? Génération d’une permutation aléatoire?? Preuve de la borne inférieure ∼ n lg n sur le nombre de comparaisons SW§2.2 ; CLR§8.1

? Tri comptage36 36(en):counting sort

? Notion de tri stable, tri radix LSD et MSD SW§5.1 ;CLR§8.2,8.3

Page 7: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 7

F8 Tableau de hachage

Références. Sedgewick & Wayne §3.137, §3.438, §3.539. 37 http://algs4.cs.princeton.edu/

31elementary/38 http://algs4.cs.princeton.edu/34hash/39 http://algs4.cs.princeton.edu/35applications/

. Cormen, Leiserson, Rivest & Stein §11.1–11.4

. Notes sur le hachage : handout09-hashing.pdf. Diapos: prez08-hashing.pdf.Diapos: prez09-hashing2.pdf.

Sujets? Type abstrait de dictionnaire/table de symboles/map. Implémentations

élémentaires avec tableau ou liste chaînée (triée ou non). SW §3.1

? Notions de base pour tableaux de hachage40 : facteur de charge/remplissage, CLR§11.240

(fr):table de hachagecollisions.? Fonctions de hachage : méthodes de la division et de la multiplication. CLR§11.3

? Résolution de collisions par chaînage séparé. Coût moyen des opé-rations de l’interface (table de symboles) en fonction de la facteur decharge.

? Addressage ouvert : notion de sondage/test. Procédures de recherche et CLR§11.4

d’insertion avec addressage ouvert. Suppression paresseuse et impatiente ;hachage dynamique (rehashing). Sondage linéaire, grappe forte. Doublehachage.

? Performance des opérations (pire cas, moyen cas) — ordre de croissance? ? ? Coût moyen des opérations de l’interface avec sondage linéaire et

double hachage en fonction de la facteur de charge.

Page 8: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 8

F9 Arbre binaire de recherche

Références. Sedgewick & Wayne §3.141, §3.242, §3.343, §6.2 (B-trees) 41 http://algs4.cs.princeton.edu/

31elementary/42 http://algs4.cs.princeton.edu/32bst/43 http://algs4.cs.princeton.edu/33balanced

. Cormen, Leiserson, Rivest & Stein chapitres 12, 13, et 18

. Notes sur les arbres binaires de recherche : handout10-abr.pdf. Diapos:prez10-abr.pdf.

. Notes sur les ABRs équilibrés : handout11-rn.pdf. Diapos: prez11-rn.pdf.

. Notes sur les arbres 2-3-4 : handout12-234.pdf. Diapos: prez12-externe.pdf.

Sujets? Arbre binaire de recherche44. Procédures fondamentales sur un ABR : 44

(fr):ABR

recherche, insertion, suppression (méthode de Hibbard : cas simple et lecas d’un nœud avec deux enfants internes). Recherche de minimum oumaximum, successeur ou prédecesseur. SW§3.2

? Performance moyenne des opérations sur un ABR standard avec clésaléatoires.

? Notion d’un ABR équilibré. Maintenance d’équilibre : rotations simpleset doubles.

? ? ? ABR randomisé : treap45 (arbretas) 45(en):treap

?? ABR splay46. Principle de déploiement (splaying). Coût amorti des 46(en):splay tree

opérations de l’interface (table de symboles).? ? ? Règles de déploiement.? ? ? Arbre AVL, sa hauteur maximale.? ABR rouge et noir47. Définition par rang (hauteur noire) ou coloriage ; 47

(fr):arbre bicolore

équivalence des deux définitions. Coût des opérations dans le pire cas.?? Hauteur maximale de l’arbre rouge et noir.?? Techniques de base avec l’ABR rouge et noir : promotion/rétrogradation,

changement de couleur, rotation. Déroulement général d’une insertionou suppression. CLR§13.1,13.2

? ? ? Déroulement détaillé de l’insertion et de la suppression dans l’arbrerouge et noir. CLR§13.3,13.4

? Arbre 2-3-448, et son équivalence avec l’arbre rouge et noir. Techniques 48(en):2-3-4 tree

de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3

rotations et promotions.?? Recherche externe, recherche séquentielle indexée, arbre B SW§6.2 ;CLR 18

Page 9: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

♠ ♥ ♦ ♣

J français English I

Page 10: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 10

E0 Introduction

THIS DOCUMENT defines the skills and knowledge for the final examina-tion in IFT2015, which is also the second part of the examen pré-doctoral in datastructures (as IFT6002).5 I marked the subjects by levels of mastery :

? satisfactory ( 50% at the final),?? good ( 25%),? ? ? excellent ( 25− 40%).

8 The margin notes refer to the following books :

SW Sedgewick, R. and K. Wayne. Algorithms, 4th edition (2011) Theexamen covers chapters 1–3 and sections 4.1, 4.2, 5.1, 6.2.

CLR Cormen, T., E. L. Leiserson, R. L. Rivest, and C. Stein. Introduc-tion to Algorithms, 3rd edition. The examen covers chapters 1–3, 6–8,10–13, 18 and 21.

G The class notes and links to Wikipedia articles are available on thewebpage http://ift2015h19.wordpress.com/.

H This is a closed-book exam.

Page 11: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 11

E1 Principles of algorithm analysis

References. Sedgewick & Wayne §1.449 49 http://algs4.cs.princeton.edu/14analysis/

. Cormen, Leiserson, Rivest & Stein chapters 1–3

. Notes on algorithm analysis: handout06-analyse.pdf. Slides: prez06-analysis.pdf.

Topics? Basic principles : worst case, best case, average case. CLR 1

? Experimental validation of running time? Common growth orders : constant, logarithmic, linear, linearithmic

(n log n), quadratic, cubic, polynomial, exponential.? Asymptotic notation50 : small-oh o( f ), f ∼ g, big-Oh O( f ) 50

(en):big-O notation

limn→∞

f (n)g(n)

= 0 ⇔ f (n) = o(

g(n));

limn→∞

f (n)g(n)

= 1 ⇔ f (n) ∼ g(n)

?? Approximations : factorial and Stirling’s formula51, harmonic num- 51 n! = ∏ni=1 ∼

√2πn

(ne

)n; lg(n!) ∼

n lg nbers52.52 Hn = ∑n

i=1 1/i ∼ ln n?? Determination of space and time complexity for simple (iterative)algorithms, and for recursive algorithms (as a recursive expression). CLR 2

?? Notion of amortized cost.? ? ? Proving amortized cost. Credit/debit method. CLR §17.4

Page 12: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 12

E2 Elementary structures and abstract data types

References. Sedgewick & Wayne §1.153, §1.254, §1.355 53 http://algs4.cs.princeton.edu/11model/

54 http://algs4.cs.princeton.edu/12oop/55 http://algs4.cs.princeton.edu/13stacks/

. Cormen, Leiserson, Rivest & Stein §10.1, §10.2

. Notes on abstract data types: handout02-tad.pdf. Slides: prez02-tad.pdf.

. Notes on tables: handout03-tableaux.pdf. Slides: prez03-tableaux.pdf.

. Notes on linked lists: handout04-chaining.pdf. Slides: prez04-chaining.pdf.

Topics? Concept of an abstract data type, interface, implementation, client. SW§1.2 ;

? Abstract types for stacks and queues.? Linked lists56. Variations : circular, doubly-linked lists. Sentinels57 for 56

(en):linked listCLR§10.257

(en):sentinelhead and/or tail. Algorithmic techniques : list traversal, manipulation ofelements, insertion and deletion.

? Arrays58. Algorithmic techniques : traversal, shifting cell contents. 58(en):array

? Implementations of stack and queue by tables or linked lists. Run- SW§1.3 ;CLR§10.1

ning time for standard operations in different implementations. Over-flow/underflow.

Page 13: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 13

E3 Trees

References. Cormen, Leiserson, Rivest & Stein §10.4.. Notes on heap: handout05-heap.pdf. Slides: prez05-pq.pdf.. Notes on binary search tree: handout10-abr.pdf. Slides: prez10-abr.pdf.

Topics? Terminology for tree structures : k-ary tree, height, level, depth. Tree

implementations. CLR §10.4

? Mathematical properties of binary trees (relationships between numberof internal and external nodes, height). Complete binary tree.

? Tree traversal : preorder, inorder, postorder, level-order.? Recursions on trees : computing the size, height, or depth of subtrees.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E4 Graph algorithms

References. Sedgewick & Wayne §4.159, §4.260 59 http://algs4.cs.princeton.edu/41graph/

60 http://algs4.cs.princeton.edu/42digraph/. Cormen, Leiserson, Rivest & Stein chapter 22. Notes on graph traversal: handout14-graphes.pdf. Slides: prez14-graphes.pdf.

Topics? Graph representations by adjacency matrix and adjacency lists61. SW§4.1 ;CLR§22.1

61(en):adjacency list? Depth-first62 and breadth-first63 search (DFS and BFS) in a graph

62(en):DFS

63(en):BFS

SW§4.1 ;CLR§22.2

?? Applications of graph traversal : connected components, bipartitegraph, topological sort64, (single-source) shortest paths

64(en):topological sort

CLR§22.4

Page 14: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 14

E5 Union-find

References. Sedgewick & Wayne §1.565 65 http://algs4.cs.princeton.edu/15uf/

. Cormen, Leiserson, Rivest & Stein §21.1–21.4

. Notes on Union-Find: handout01-unionfind.pdf.

Topics? Connectivity problems, union-find operations.? Union-Find66 data structure. Techniques : union-by-rank/union-by- 66

(en):union-findSW§1.5size, path compression.

?? Iterated logarithm log∗ n ; amortized cost per operation : O(log∗ n)for Union-Find with balanced trees and path compression

? ? ? Ackermann67 function and its inverse 67(en):Ackermann function

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E6 Priority queue

References. Sedgewick & Wayne §2.468 68 http://algs4.cs.princeton.edu/24pq/

. Cormen, Leiserson, Rivest & Stein Chapter 6

. Notes on priority queue: handout05-heap.pdf. Slides: prez05-pq.pdf.Slides: prez05b-heap2.pdf.

Topics? ADT for priority queue69 : operations insert, deleteMin or deleteMax. 69

(en):priority queue

Implementations by table or linked list.? Heap70 order for a tree. Binary heap71, its representation in a table. 70

(en):heap

SW§2.471

(en):binary heap?? Heap manipulation : swim and sink.? heapify (linear-time construction of heap order in a table) ; Heapsort72,

72(en):heapsort

its running time and memory use.? ? ? d-ary heap73. 73

(en):d-ary heap

Page 15: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 15

E7 Sorting algorithms

References. Sedgewick & Wayne §2.174, §2.275, §2.376, §5.177, §6.2. 74 http://algs4.cs.princeton.edu/

21elementary/75 http://algs4.cs.princeton.edu/22mergesort/76 http://algs4.cs.princeton.edu/23quicksort/77 http://algs4.cs.princeton.edu/51radix

. Cormen, Leiserson, Rivest & Stein Chapters 2 and 7, §8.1–8.3.

. Notes on sorting: handout07-sorting.pdf. Slides: prez07-sorting.pdf..

. Notes on algorithm analysis: handout06-analyse.pdf. (running time forheapsort and mergesort) Slides: prez06-analysis.pdf..

. Slides: prez12-externe.pdf..

Topics? Terminology : internal and external sort.? Insertion78 sort and selection79 sort. 78

(en):insertion sort79

(en):selection sortSW§2.1

? Performance of elementary sorting algorithms (worst case, best case,average case).

? Merging 2 sorted arrays.? Mergesort80 (top-down), its performance. 80

(en):merge sort

SW§2.2? Quicksort81 : basic algorithm. Improvements : pivoting by median-of-81

(en):quicksort

SW§2.3 ; CLR 7three, small subarrays.

? Performance of quicksort (worst case, best case, average case).? Generating a random permutation?? Proof of the lower bound lg(n!) ∼ n lg n for the worst-case number

of comparisons SW§2.2 ; CLR§8.1

? Counting sort82 82(en):counting sort

? Notion of stable sort. Radix sorts by most-significant-digit or least-significant digit. SW§5.1 ;CLR§8.2,8.3

Page 16: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 16

E8 Hash table

Reference. Sedgewick & Wayne §3.183, §3.484, §3.585. 83 http://algs4.cs.princeton.edu/

31elementary/84 http://algs4.cs.princeton.edu/34hash/85 http://algs4.cs.princeton.edu/35applications/

. Cormen, Leiserson, Rivest & Stein §11.1–11.4

. Notes on hashing: handout09-hashing.pdf. Slides: prez08-hashing.pdf.Slides: prez09-hashing2.pdf.

Topics? Abstract data type for dictionary = symbol table = map, elementary

implementations with sorted and unsorted array or linked list. SW §3.1

? Basic notions for hashtables86 : load factor, collisions. CLR §11.286

(en):hashtable? Hash functions : division and multiplication methods.CLR §11.3

? Collision resolution by separate chaining. Average-case performancewith separate chaining as function of the load factor.

? Open addressing : probe sequence. Search and insertion with open CLR §11.4

addressing. Lazy and eager deletion, dynamic hashing. Linear probing,primary clustering. Double hashing.

? Average and worst-case performance of operations? ? ? Cost of operations with linear probing and double hashing in func-

tion of the load factor.

Page 17: LE BUT DE CE DOCUMENT Hsont affichés sur le siteGcouvert ... · de base sur les arbres 2-3-4 : décalage et découpage, leur relation aux SW§3.3 rotations et promotions. Recherche

IFT2015 STRUCTURES DE DONNÉES : LISTE DÉTAILLÉE DE SUJETS 17

E9 Binary search trees

Reference. Sedgewick & Wayne §3.187, §3.288, §3.389, §6.2 (B-trees) 87 http://algs4.cs.princeton.edu/

31elementary/88 http://algs4.cs.princeton.edu/32bst/89 http://algs4.cs.princeton.edu/33balanced

. Cormen, Leiserson, Rivest & Stein chapters 12, 13 and 18

. Diapos: prez12-abr.pdf. Diapos: prez13-strings.pdf.

. Notes on binary search trees: handout10-abr.pdf. Slides: prez10-abr.pdf.

. Notes on balanced BST: handout11-rn.pdf. Slides: prez11-rn.pdf.

. Notes on 2-3-4 tree: handout12-234.pdf.

Topics? Binary search tree90. Basic techniques : search, insertion, deletion. 90

(en):BST

Searching for minimum or maximum, successor or predecessor. SW§3.2

? Average performance of a standard BST with random keys.? Notion of a balanced BST. Maintaining the balance : simple and double

rotations.? ? ? Randomized BST : treap91 91

(en):treap

?? Splay trees92. Principle of splaying. Amortized cost of symbol table 92(en):splay tree

operations.? ? ? Splaying rules.? ? ? AVL tree, definition, and bound on height.? Red-black tree93. Definition by rank (black height) or coloring ; equi- 93

(en):red-black tree

valence of the two definitions. Time complexity for operations in theworst-case.

?? Maximum height of a red-black tree.?? Basic techniques for red-black trees : promotion/demotion, recoloring,

rotations. General outline of insertion and deletion. CLR§13.1,13.2

? ? ? Detailed (case-by-case) steps in insertion and deletion in a red-blacktree. CLR§13.3,13.4

? 2-3-4 tree94, its equivalence with the red-black tree. Basic techniques 94(en):2-3-4 tree

with 2-3-4 trees : shifting and splitting, relationship with promotions SW§3.3

and rotations in red-black tree.?? External search, indexed sequential access, B tree SW §6.2 ; CLR 18


Recommended