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.
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
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.
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
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
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
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.
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
♠ ♥ ♦ ♣
J français English I
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.
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
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.
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
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
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
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.
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