From 7a0eff263c3670cbfda5fe32d1981967c0099840 Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Sun, 8 Dec 2024 19:39:45 +0100
Subject: [PATCH] updated 204

---
 slides/cours_10.md                         | 246 +-----
 slides/cours_11.md                         | 937 +++++++++++++++++++++
 slides/figs/Singly-linked-list.svg         | 638 ++++++++++++++
 slides/figs/fig_empty_queue_insert.png     | Bin 0 -> 13624 bytes
 slides/figs/fig_non_empty_queue_insert.png | Bin 0 -> 20622 bytes
 slides/figs/fig_queue_extract.png          | Bin 0 -> 19932 bytes
 slides/figs/fig_queue_extract_one.svg      | 298 +++++++
 slides/figs/fig_queue_representation.png   | Bin 0 -> 7251 bytes
 slides/figs/sorted_list_example.svg        | 218 +++++
 slides/figs/sorted_list_insert_any.svg     | 623 ++++++++++++++
 slides/figs/sorted_list_insert_first.svg   | 726 ++++++++++++++++
 slides/figs/sorted_list_insert_one.svg     | 416 +++++++++
 12 files changed, 3857 insertions(+), 245 deletions(-)
 create mode 100644 slides/cours_11.md
 create mode 100644 slides/figs/Singly-linked-list.svg
 create mode 100644 slides/figs/fig_empty_queue_insert.png
 create mode 100644 slides/figs/fig_non_empty_queue_insert.png
 create mode 100644 slides/figs/fig_queue_extract.png
 create mode 100644 slides/figs/fig_queue_extract_one.svg
 create mode 100644 slides/figs/fig_queue_representation.png
 create mode 100644 slides/figs/sorted_list_example.svg
 create mode 100644 slides/figs/sorted_list_insert_any.svg
 create mode 100644 slides/figs/sorted_list_insert_first.svg
 create mode 100644 slides/figs/sorted_list_insert_one.svg

diff --git a/slides/cours_10.md b/slides/cours_10.md
index e52cec7..31637d6 100644
--- a/slides/cours_10.md
+++ b/slides/cours_10.md
@@ -460,249 +460,5 @@ void stack_pop(stack *s, int *ret);
 
 . . .
 
-## Faisons l'implémentation ensemble
-
-# Le tri à deux piles (1/3)
-
-## Cas pratique
-
-![Un exemple de tri à deux piles](figs/tri_piles.svg){width=70%}
-
-# Le tri à deux piles (2/3)
-
-## Exercice: formaliser l'algorithme
-
-. . .
-
-## Algorithme de tri nécessitant 2 piles (G, D)
-
-Soit `tab` le tableau à trier:
-
-```C
-pour i de 0 à N-1
-    tant que (tab[i] > que le sommet de G)
-        dépiler G dans D
-    tant que (tab[i] < que le sommet de D)
-        dépiler de D dans G
-    empiler tab[i] sur G
-dépiler tout D dans G
-tab est trié dans G
-```
-
-# Le tri à deux piles (3/3)
-
-## Exercice: trier le tableau `[2, 10, 5, 20, 15]`
-
-```C
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-# La calculatrice (1/8)
-
-## Vocabulaire
-
-```C
-2 + 3 = 2 3 +,
-```
-
-`2` et `3` sont les *opérandes*, `+` l'*opérateur*.
-
-. . .
-
-## La notation infixe
-
-```C
-2 * (3 + 2) - 4 = 6.
-```
-
-## La notation postfixe
-
-```C
-2 3 2 + * 4 - = 6.
-```
-
-## Exercice: écrire `2 * 3 * 4 + 2` en notation `postfixe`
-
-. . .
-
-```C
-2 3 4 * * 2 + = (2 * (3 * 4)) + 2.
-```
-
-# La calculatrice (2/8)
-
-## De infixe à post-fixe
-
-* Une *pile* est utilisée pour stocker *opérateurs* et *parenthèses*.
-* Les opérateurs on des *priorités* différentes.
-
-```C
-^   : priorité 3
-* / : priorité 2
-+ - : priorité 1
-( ) : priorité 0 // pas un opérateur mais bon
-```
-
-
-# La calculatrice (3/8)
-
-## De infixe à post-fixe: algorithme
-
-* On lit l'expression infixe de gauche à droite.
-
-* On examine le prochain caractère de l'expression infixe.
-    * Si opérande, le placer dans l'expression du résultat.
-    * Si parenthèse le mettre dans la pile (priorité 0).
-    * Si opérateur, comparer sa priorité avec celui du sommet de la pile:
-        * Si sa priorité est plus élevée, empiler.
-        * Sinon dépiler l'opérateur de la pile dans l'expression du résultat et
-          recommencer jusqu'à apparition d'un opérateur de priorité plus faible
-          au sommet de la pile (ou pile vide).
-    * Si parenthèse fermée, dépiler les opérateurs du sommet de la pile et les
-      placer dans l'expression du résultat, jusqu'à ce qu'une parenthèse
-      ouverte apparaisse au sommet, dépiler également la parenthèse.
-    * Si il n'y a pas de caractère dans l'expression dépiler tous les
-      opérateurs dans le résultat.
-
-# La calculatrice (4/8)
-
-## De infixe à post-fixe: exemple
-
-```C
-Infixe              Postfixe            Pile    Priorité
-((A*B)/D-F)/(G+H)   Vide                Vide    Néant
- (A*B)/D-F)/(G+H)   Vide                (       0
-  A*B)/D-F)/(G+H)   Vide                ((      0
-   *B)/D-F)/(G+H)   A                   ((      0
-    B)/D-F)/(G+H)   A                   ((*     2
-     )/D-F)/(G+H)   AB                  ((*     2
-      /D-F)/(G+H)   AB*                 (       0
-       D-F)/(G+H)   AB*                 (/      2
-        -F)/(G+H)   AB*D                (/      2
-         F)/(G+H)   AB*D/               (-      1
-          )/(G+H)   AB*D/F              (-      1
-           /(G+H)   AB*D/F-             Vide    Néant
-```
-
-# La calculatrice (5/8)
-
-## De infixe à post-fixe: exemple
-
-```C
-Infixe              Postfixe            Pile    Priorité
-((A*B)/D-F)/(G+H)   Vide                Vide    Néant
---------------------------------------------------------
-           /(G+H)   AB*D/F-             Vide    Néant
-            (G+H)   AB*D/F-             /       2
-             G+H)   AB*D/F-             /(      0
-              +H)   AB*D/F-G            /(      0
-               H)   AB*D/F-G            /(+     1
-                )   AB*D/F-GH           /(+     1
-             Vide   AB*D/F-GH+          /       2
-             Vide   AB*D/F-GH+/         Vide    Néant
-```
-
-# La calculatrice (6/8)
-
-\footnotesize
-
-## Exercice: écrire le code et le poster sur matrix
-
-* Quelle est la signature de la fonction?
-
-. . .
-
-* Une sorte de corrigé:
-
-```C
-char *infix_to_postfix(char* infix) { // init and alloc stack and postfix
-    for (size_t i = 0; i < strlen(infix); ++i) {
-        if (is_operand(infix[i])) { 
-            // we just add operands in the new postfix string
-        } else if (infix[i] == '(') { 
-            // we push opening parenthesis into the stack
-        } else if (infix[i] == ')') { 
-            // we pop everything into the postfix
-        } else if (is_operator(infix[i])) {
-            // this is an operator. We add it to the postfix based 
-            // on the priority of what is already in the stack and push it
-        }    
-    } 
-    // pop all the operators from the s at the end of postfix
-    // and end the postfix with `\0`
-    return postfix;
-} 
-```
-
-
-# La calculatrice (7/8)
-
-## Évaluation d'expression postfixe: algorithme
-
-* Chaque *opérateur* porte sur les deux opérandes qui le précèdent.
-* Le *résultat d'une opération* est un nouvel *opérande* qui est remis au
-  sommet de la pile.
-
-## Exemple
-
-```C
-2 3 4 + * 5 - = ?
-```
-
-* On parcours de gauche à droite:
-
-```C
-Caractère lu        Pile opérandes
-    2               2
-    3               2, 3
-    4               2, 3, 4
-    +               2, (3 + 4)
-    *               2 * 7
-    5               14, 5
-    -               14 - 5 = 9
-```
-
-# La calculatrice (8/8)
-
-## Évaluation d'expression postfixe: algorithme
-
-1. La valeur d'un opérande est *toujours* empilée.
-2. L'opérateur s'applique *toujours* au 2 opérandes au sommet.
-3. Le résultat est remis au sommet.
-
-## Exercice: écrire l'algorithme en C (et poster sur matrix)
-
-. . .
-
-```C
-double evaluate(char *postfix) { // init stack
-    for (size_t i = 0; i < strlen(postfix); ++i) {
-        if (is_operand(postfix[i])) {
-            stack_push(&s, postfix[i]);
-        } else if (is_operator(postfix[i])) {
-            double rhs = stack_pop(&s);
-            double lhs = stack_pop(&s);
-            stack_push(&s, op(postfix[i], lhs, rhs));
-        }    
-    }
-    return stack_pop(&s);
-}
-```
-
-
+## Faisons s'implémentation ensemble
 
diff --git a/slides/cours_11.md b/slides/cours_11.md
new file mode 100644
index 0000000..9694de9
--- /dev/null
+++ b/slides/cours_11.md
@@ -0,0 +1,937 @@
+---
+title: "Calculatrices, liste chaînée, et files d'attente"
+date: "2024-12-09"
+---
+
+# Rappel: les piles
+
+## Qu'est-ce donc?
+
+. . .
+
+* tructure de données abstraite de type LIFO
+
+## Quelles fonctionnalités?
+
+. . .
+
+1. Empiler (push): ajouter un élément sur la pile.
+2. Dépiler (pop): retirer l'élément du sommet de la pile et le retourner.
+3. Pile vide? (is_empty?).
+
+# Le tri à deux piles
+
+\Huge Le tri à deux piles
+
+# Le tri à deux piles (1/3)
+
+## Cas pratique
+
+![Un exemple de tri à deux piles](figs/tri_piles.svg){width=70%}
+
+# Le tri à deux piles (2/3)
+
+## Exercice: formaliser l'algorithme
+
+. . .
+
+## Algorithme de tri nécessitant 2 piles (G, D)
+
+Soit `tab` le tableau à trier:
+
+```C
+pour i de 0 à N-1
+    tant que (tab[i] > que le sommet de G)
+        dépiler G dans D
+    tant que (tab[i] < que le sommet de D)
+        dépiler de D dans G
+    empiler tab[i] sur G
+dépiler tout D dans G
+tab est trié dans G
+```
+
+# Le tri à deux piles (3/3)
+
+## Exercice: trier le tableau `[2, 10, 5, 20, 15]`
+
+```C
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+# La Calculatrice
+
+\Huge La Calculatrice
+
+# La calculatrice (1/8)
+
+## Vocabulaire
+
+```C
+2 + 3 = 2 3 +,
+```
+
+`2` et `3` sont les *opérandes*, `+` l'*opérateur*.
+
+. . .
+
+## La notation infixe
+
+```C
+2 * (3 + 2) - 4 = 6.
+```
+
+## La notation postfixe
+
+```C
+2 3 2 + * 4 - = 6.
+```
+
+## Exercice: écrire `2 * 3 * 4 + 2` en notation `postfixe`
+
+. . .
+
+```C
+2 3 4 * * 2 + = (2 * (3 * 4)) + 2.
+```
+
+# La calculatrice (2/8)
+
+## De infixe à post-fixe
+
+* Une *pile* est utilisée pour stocker *opérateurs* et *parenthèses*.
+* Les opérateurs on des *priorités* différentes.
+
+```C
+^   : priorité 3
+* / : priorité 2
++ - : priorité 1
+( ) : priorité 0 // pas un opérateur mais bon
+```
+
+
+# La calculatrice (3/8)
+
+## De infixe à post-fixe: algorithme
+
+* On lit l'expression infixe de gauche à droite.
+
+* On examine le prochain caractère de l'expression infixe.
+    * Si opérande, le placer dans l'expression du résultat.
+    * Si parenthèse le mettre dans la pile (priorité 0).
+    * Si opérateur, comparer sa priorité avec celui du sommet de la pile:
+        * Si sa priorité est plus élevée, empiler.
+        * Sinon dépiler l'opérateur de la pile dans l'expression du résultat et
+          recommencer jusqu'à apparition d'un opérateur de priorité plus faible
+          au sommet de la pile (ou pile vide).
+    * Si parenthèse fermée, dépiler les opérateurs du sommet de la pile et les
+      placer dans l'expression du résultat, jusqu'à ce qu'une parenthèse
+      ouverte apparaisse au sommet, dépiler également la parenthèse.
+    * Si il n'y a pas de caractère dans l'expression dépiler tous les
+      opérateurs dans le résultat.
+
+# La calculatrice (4/8)
+
+## De infixe à post-fixe: exemple
+
+```C
+Infixe              Postfixe            Pile    Priorité
+((A*B)/D-F)/(G+H)   Vide                Vide    Néant
+ (A*B)/D-F)/(G+H)   Vide                (       0
+  A*B)/D-F)/(G+H)   Vide                ((      0
+   *B)/D-F)/(G+H)   A                   ((      0
+    B)/D-F)/(G+H)   A                   ((*     2
+     )/D-F)/(G+H)   AB                  ((*     2
+      /D-F)/(G+H)   AB*                 (       0
+       D-F)/(G+H)   AB*                 (/      2
+        -F)/(G+H)   AB*D                (/      2
+         F)/(G+H)   AB*D/               (-      1
+          )/(G+H)   AB*D/F              (-      1
+           /(G+H)   AB*D/F-             Vide    Néant
+```
+
+# La calculatrice (5/8)
+
+## De infixe à post-fixe: exemple
+
+```C
+Infixe              Postfixe            Pile    Priorité
+((A*B)/D-F)/(G+H)   Vide                Vide    Néant
+--------------------------------------------------------
+           /(G+H)   AB*D/F-             Vide    Néant
+            (G+H)   AB*D/F-             /       2
+             G+H)   AB*D/F-             /(      0
+              +H)   AB*D/F-G            /(      0
+               H)   AB*D/F-G            /(+     1
+                )   AB*D/F-GH           /(+     1
+             Vide   AB*D/F-GH+          /       2
+             Vide   AB*D/F-GH+/         Vide    Néant
+```
+
+# La calculatrice (6/8)
+
+\footnotesize
+
+## Exercice: écrire le code et le poster sur matrix
+
+* Quelle est la signature de la fonction?
+
+. . .
+
+* Une sorte de corrigé:
+
+```C
+char *infix_to_postfix(char* infix) { // init and alloc stack and postfix
+    for (size_t i = 0; i < strlen(infix); ++i) {
+        if (is_operand(infix[i])) { 
+            // we just add operands in the new postfix string
+        } else if (infix[i] == '(') { 
+            // we push opening parenthesis into the stack
+        } else if (infix[i] == ')') { 
+            // we pop everything into the postfix
+        } else if (is_operator(infix[i])) {
+            // this is an operator. We add it to the postfix based 
+            // on the priority of what is already in the stack and push it
+        }    
+    } 
+    // pop all the operators from the s at the end of postfix
+    // and end the postfix with `\0`
+    return postfix;
+} 
+```
+
+
+# La calculatrice (7/8)
+
+## Évaluation d'expression postfixe: algorithme
+
+* Chaque *opérateur* porte sur les deux opérandes qui le précèdent.
+* Le *résultat d'une opération* est un nouvel *opérande* qui est remis au
+  sommet de la pile.
+
+## Exemple
+
+```C
+2 3 4 + * 5 - = ?
+```
+
+* On parcours de gauche à droite:
+
+```C
+Caractère lu        Pile opérandes
+    2               2
+    3               2, 3
+    4               2, 3, 4
+    +               2, (3 + 4)
+    *               2 * 7
+    5               14, 5
+    -               14 - 5 = 9
+```
+
+# La calculatrice (8/8)
+
+## Évaluation d'expression postfixe: algorithme
+
+1. La valeur d'un opérande est *toujours* empilée.
+2. L'opérateur s'applique *toujours* au 2 opérandes au sommet.
+3. Le résultat est remis au sommet.
+
+## Exercice: écrire l'algorithme en C (et poster sur matrix)
+
+. . .
+
+```C
+double evaluate(char *postfix) { // init stack
+    for (size_t i = 0; i < strlen(postfix); ++i) {
+        if (is_operand(postfix[i])) {
+            stack_push(&s, postfix[i]);
+        } else if (is_operator(postfix[i])) {
+            double rhs = stack_pop(&s);
+            double lhs = stack_pop(&s);
+            stack_push(&s, op(postfix[i], lhs, rhs));
+        }    
+    }
+    return stack_pop(&s);
+}
+```
+
+# Liste chaînée et pile
+
+\Huge Liste chaînée et pile
+
+# La liste chaînée et pile (1/6)
+
+## Structure de données
+
+* Chaque élément de la liste contient:
+    1. une valeur,
+    2. un pointeur vers le prochain élément.
+* La pile est un pointeur vers le premier élément.
+
+![Un exemple de liste chaînée.](figs/Singly-linked-list.svg){width=80%}
+
+# La liste chaînée et pile (2/6)
+
+## Une pile-liste-chaînée
+
+```C
+typedef struct _element {
+    int data;
+    struct _element *next;
+} element;
+typedef element* stack;
+```
+
+## Fonctionnalités?
+
+. . .
+
+```C
+void stack_create(stack *s); // *s = NULL;
+void stack_destroy(stack *s);
+void stack_push(stack *s, int val);
+void stack_pop(stack *s, int *val);
+void stack_peek(stack s, int *val);
+bool stack_is_empty(stack s); // reutrn NULL == stack;
+```
+
+# La liste chaînée et pile (3/6)
+
+## Empiler? (faire un dessin)
+
+. . .
+
+```C
+
+
+
+
+
+
+
+```
+
+## Empiler? (le code ensemble)
+
+. . .
+
+```C
+void stack_push(stack *s, int val) {
+    element *elem = malloc(sizeof(*elem));
+    elem->data = val;
+    elem->next = *s;
+    *s = elem;
+}
+```
+
+# La liste chaînée et pile (4/6)
+
+## Jeter un oeil? (faire un dessin)
+
+. . .
+
+```C
+
+
+
+
+
+
+
+```
+
+## Jeter un oeil? (le code ensemble)
+
+. . .
+
+```C
+void stack_peek(stack s, int *val) {
+    *val = s->data;
+}
+```
+
+# La liste chaînée et pile (5/6)
+
+## Dépiler? (faire un dessin)
+
+. . .
+
+```C
+
+
+
+
+
+
+
+```
+
+## Dépiler? (le code ensemble)
+
+. . .
+
+```C
+void stack_pop(stack *s, int *val) {
+    stack_peek(*s, val);
+    element *tmp = *s;
+    *s = (*s)->next;
+    free(tmp);
+}
+```
+
+# La liste chaînée et pile (6/6)
+
+## Détruire? (faire un dessin)
+
+. . .
+
+```C
+
+
+
+
+
+
+
+```
+
+## Détruire? (le code ensemble)
+
+. . .
+
+```C
+void stack_destroy(stack *s) {
+    while (!stack_is_empty(*s)) {
+        int val; 
+        stack_pop(s, &val);
+    }
+}
+```
+
+# La file d'attente
+
+\Huge La file d'attente
+
+# La file d'attente (1/2)
+
+* Structure de données abstraite permettant le stockage d'éléments.
+* *FIFO*: First In First Out, ou première entrée première sortie.
+* Analogue de la vie "réelle"":
+    * File à un guichet,
+    * Serveur d'impressions,
+    * Mémoire tampon, ...
+
+## Fonctionnalités
+ 
+ . . .
+
+* Enfiler: ajouter un élément à la fin de la file.
+* Défiler: extraire un élément au devant de la file.
+* Tester si la file est vide.
+
+. . .
+
+* Lire l'élément de la fin de la file.
+* Lire l'élément du devant de la file.
+* Créer une liste vide.
+* Détruire une liste vide.
+
+# La file d'attente (2/2)
+
+\footnotesize
+
+## Implémentation possible
+
+* La structure file, contient un pointeur vers la tête et un vers le début de la file.
+* Entre les deux, les éléments sont stockés dans une liste chaînée.
+
+![Illustration d'une file d'attente.](figs/fig_queue_representation.png){width=80%}
+
+## Structure de données en C?
+
+. . .
+
+```C
+typedef struct _element {  // Elément de liste
+   int data;
+   struct _element* next;
+} element;
+typedef struct _queue {    // File d'attente:
+   element* head;  //    tête de file d'attente
+   element* tail;  //    queue de file d'attente
+} queue;
+```
+
+# Fonctionnalités d'une file d'attente
+
+## Creation et consultations
+
+. . .
+
+```C
+void queue_init(queue *fa); // head = tail = NULL
+bool queue_is_empty(queue fa); // fa.head == fa.tail == NULL
+int queue_tail(queue fa); // return fa.tail->data
+int queue_head(queue fa); // return fa.head->data
+```
+
+## Manipulations et destruction
+
+. . .
+
+```C
+void queue_enqueue(queue *fa, int val);
+// adds an element before the tail
+int queue_dequeue(queue *fa);
+// removes the head and returns stored value
+void queue_destroy(queue *fa);
+// dequeues everything into oblivion
+```
+
+# Enfilage
+
+## Deux cas différents:
+
+1. La file est vide (faire un dessin):
+
+. . .
+
+![Insertion dans une file d'attente vide.](./figs/fig_empty_queue_insert.png){width=40%}
+
+2. La file n'est pas vide (faire un dessin):
+
+. . .
+
+![Insertion dans une file d'attente non-vide.](./figs/fig_non_empty_queue_insert.png){width=70%}
+
+# Enfilage
+
+## Live (implémentation)
+
+. . .
+
+```C
+void queue_enqueue(queue *fa, int val) {
+    element* elmt = malloc(sizeof(*elmt));
+    elmt->data = val;
+    elmt->next = NULL;
+    if (queue_is_empty(*fa)) {
+        fa->head = elmt;
+        fa->tail = elmt;
+    } else {
+        fa->tail->next = elmt;
+        fa->tail = elmt;
+    }
+}
+```
+
+# Défilage
+
+## Trois cas différents
+
+1. La file a plus d'un élément (faire un dessin):
+
+. . .
+
+![Extraction d'une file d'attente](./figs/fig_queue_extract.png){width=80%}
+
+2. La file un seul élément (faire un dessin):
+
+. . .
+
+![Extraction d'une file d'attente de longueur 1.](./figs/fig_queue_extract_one.svg){width=25%}
+
+
+3. La file est vide (problème)
+
+# Défilage
+
+## Live (implémentation)
+
+. . .
+
+```C
+int queue_dequeue(queue *fa) {
+    element* elmt = fa->head;
+    int val = elmt->data;
+    fa->head = fa->head->next;
+    free(elmt);
+    if (NULL == fa->head) {
+        fa->tail = NULL;
+    }
+    return val;
+}
+```
+
+. . .
+
+## Problème avec cette implémentation?
+
+# Destruction
+
+## Comment on faire la désallocation?
+
+. . .
+
+On défile jusqu'à ce que la file soit vide!
+
+# Complexité
+
+## Quelle sont les complexité de:
+
+* Enfiler?
+
+. . .
+
+* Défiler?
+
+. . .
+
+* Détruire?
+
+. . .
+
+* Est vide?
+
+
+# Implémentation alternative
+
+## Comment implémenter la file autrement?
+
+. . .
+
+* Données stockées dans un tableau;
+* Tableau de taille connue à la compilation ou pas (réallouable);
+* `tail` seraient les indices du tableau;
+* `capacity` seraient la capacité maximale;
+* On *enfile* "au bout" du tableau, au défile au début (indice `0`).
+
+. . .
+
+## Structure de données
+
+```C
+typedef struct _queue {
+    int *data;
+    int tail, capacity;
+} queue;
+```
+
+# File basée sur un tableau
+
+* Initialisation?
+
+. . .
+
+```C
+
+
+
+
+```
+
+* Est vide?
+
+. . .
+
+```C
+
+
+
+
+```
+
+
+* Enfiler?
+
+. . .
+
+```C
+
+
+
+
+```
+
+* Défiler?
+
+. . .
+
+```C
+
+
+
+
+```
+
+# Complexité
+
+## Quelle sont les complexités de:
+
+* Initialisation?
+
+. . .
+
+```C
+
+
+
+
+```
+
+* Est vide?
+
+. . .
+
+```C
+
+```
+
+
+* Enfiler?
+
+. . .
+
+```C
+
+
+
+
+```
+
+* Défiler?
+
+. . .
+
+```C
+
+
+
+
+```
+
+# Une file plus efficace
+
+## Comment faire une file plus efficace?
+
+* Où est-ce que ça coince?
+
+. . .
+
+* Défiler est particulièrement lent $\mathcal{O}(N)$.
+
+## Solution?
+
+. . .
+
+* Utiliser un indice séparé pour `head`.
+
+```C
+typedef struct _queue {
+    int *data;
+    int head, tail, capacity;
+} queue;
+```
+
+# Une file plus efficace (implémentation)
+
+## Enfilage
+
+\footnotesize
+
+```C
+void queue_enqueue(queue *fa, int val) {
+    if ((fa->head == 0 && fa->tail == fa->capacity-1) ||
+            (fa->tail == (fa->head-1) % (fa->capacity-1))) {
+        return; // queue is full
+    }
+    if (fa->head == -1) { // queue was empty
+        fa->head = fa->tail = 0;
+        fa->data[fa->tail] = val;
+    } else if (fa->tail == fa->capacity-1 && fa->head != 0) {
+        // the tail reached the end of the array
+        fa->tail = 0;
+        fa->data[fa->tail] = val;
+    } else {
+        // nothing particular
+        fa->tail += 1;
+        fa->data[fa->tail] = val;
+    }
+}
+```
+
+# Une file plus efficace (implémentation)
+
+## Défilage
+
+```C
+void queue_dequeue(queue *fa, int *val) {
+    if (queue_is_empty(*fa)) {
+        return; // queue is empty
+    }
+    *val = fa->data[fa->head];
+    if (fa->head == fa->tail) { // that was the last element
+        fa->head = fa->tail = -1;
+    } else if (fa->head == fa->capacity-1) {
+        fa->head = 0;
+    } else {
+        fa->head += 1;
+    }
+}
+```
+
+
+# Les listes triées
+
+Une liste chaînée triée est:
+
+* une liste chaînée
+* dont les éléments sont insérés dans l'ordre.
+
+![Exemple de liste triée.](./figs/sorted_list_example.svg)
+
+. . .
+
+* L'insertion est faite telle que l'ordre est maintenu.
+
+## Quelle structure de données?
+
+```C
+
+
+
+
+
+```
+
+# Les listes triées
+
+## Quel but?
+
+* Permet de retrouver rapidement un élément.
+* Utile pour la recherche de plus court chemin dans des graphes.
+* Ordonnancement de processus par degré de priorité.
+
+## Comment?
+
+* Les implémentations les plus efficaces se basent sur les tableaux.
+* Possibles aussi avec des listes chaînées.
+
+# Les listes triées
+
+\footnotesize
+
+## Quelle structure de données dans notre cas?
+
+
+Une liste chaînée bien sûr (oui c'est pour vous entraîner)!
+
+```C
+typedef struct _element { // chaque élément
+    int data;
+    struct _element *next;
+} element;
+typedef element* sorted_list; // la liste
+```
+
+## Fonctionnalités
+
+```C
+// insertion de val
+sorted_list sorted_list_push(sorted_list list, int val);
+// la liste est-elle vide?
+bool is_empty(sorted_list list); // list == NULL
+// extraction de val (il disparaît)
+sorted_list sorted_list_extract(sorted_list list, int val); 
+ // rechercher un élément et le retourner
+element* sorted_list_search(sorted_list list, int val);
+```
+
+# L'insertion
+
+## Trois cas
+
+1. La liste est vide.
+
+. . .
+
+![Insertion dans une liste vide, `list == NULL`.](figs/sorted_list_insert_one.svg){width=30%}
+
+. . .
+
+```C
+sorted_list sorted_list_push(sorted_list list, int val) {
+    if (sorted_list_is_empty(list)) {
+        list = malloc(sizeof(*list));
+        list->data = val;
+        list->next = NULL;
+        return list;
+    }
+}
+```
+
+# L'insertion
+
+2. L'insertion se fait en première position.
+
+. . .
+
+![Insertion en tête de liste, `list->data >=
+val`.](figs/sorted_list_insert_first.svg){width=80%}
+
+. . .
+
+```C
+sorted_list sorted_list_push(sorted_list list, int val) {
+    if (list->data >= val) {
+        element *tmp = malloc(sizeof(*tmp));
+        tmp->data = val;
+        tmp->next = list;
+        list = tmp;
+        return list;
+    }
+}
+```
+
+# L'insertion
+
+3. L'insertion se fait sur une autre position que la première.
+
+. . .
+
+![Insertion sur une autre position, list->data <
+val.](figs/sorted_list_insert_any.svg){width=70%}
+
+. . .
+
+\footnotesize
+
+```C
+sorted_list sorted_list_push(sorted_list list, int val) {
+    element *tmp = malloc(sizeof(*tmp));
+    tmp->data = val;
+    element *crt = list;
+    while (NULL != crt->next && val > crt->next->data) {
+        crt = crt->next;
+    }
+    tmp->next = crt->next;
+    crt->next = tmp;
+    return list;
+}
+```
+
+
diff --git a/slides/figs/Singly-linked-list.svg b/slides/figs/Singly-linked-list.svg
new file mode 100644
index 0000000..dae4ee1
--- /dev/null
+++ b/slides/figs/Singly-linked-list.svg
@@ -0,0 +1,638 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="271.77063mm"
+   height="108.99983mm"
+   viewBox="0 0 271.77063 108.99983"
+   version="1.1"
+   id="svg92"
+   sodipodi:docname="Singly-linked-list.svg"
+   inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview94"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="mm"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.16191253"
+     inkscape:cx="382.92281"
+     inkscape:cy="867.75249"
+     inkscape:window-width="944"
+     inkscape:window-height="1022"
+     inkscape:window-x="962"
+     inkscape:window-y="44"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs89">
+    <marker
+       style="overflow:visible"
+       id="DotM"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="DotM"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         id="path7259" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Lstart"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lstart"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(0.8,0,0,0.8,10,0)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="M 0,0 5,-5 -12.5,0 5,5 Z"
+         id="path7195" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-5" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="DotM-0"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="DotM"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         id="path7259-9" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-3"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-6" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-7-0"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-5-6" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="DotM-8"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="DotM"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         id="path7259-97" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-36"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-1" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="DotM-8-4"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="DotM"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         id="path7259-97-5" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-36-0"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-1-3" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="DotM-0-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="DotM"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         id="path7259-9-1" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-3-0"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-6-6" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-7-0-3"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-5-6-2" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="DotM-8-4-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="DotM"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         id="path7259-97-5-7" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-36-0-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-1-3-4" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="DotM-8-3"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="DotM"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
+         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+         id="path7259-97-6" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-36-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path7216-1-5" />
+    </marker>
+  </defs>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-0.36967225,-2.5050807)">
+    <g
+       id="g3580">
+      <g
+         id="g24207">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.264583"
+           x="36.682896"
+           y="38.202869"
+           id="text6474-3"><tspan
+             sodipodi:role="line"
+             id="tspan6472-6"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
+             x="36.682896"
+             y="38.202869">0</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.264583"
+           x="-0.73103225"
+           y="10.545908"
+           id="text17747"><tspan
+             sodipodi:role="line"
+             id="tspan17745"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
+             x="-0.73103225"
+             y="10.545908">stack</tspan></text>
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+           d="M 12.729453,13.750898 C 12.330364,25.260185 17.227241,33.50031 33.621646,34.643091"
+           id="path18808"
+           sodipodi:nodetypes="cc" />
+      </g>
+    </g>
+    <g
+       id="g3643"
+       transform="translate(-8.1840905,2.5045546)">
+      <rect
+         style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:1"
+         id="rect140-29"
+         width="31.621361"
+         height="15.888521"
+         x="140.73814"
+         y="23.853914" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 164.53454,24.18415 V 39.63821"
+         id="path1501-3" />
+      <text
+         xml:space="preserve"
+         style="font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+         x="145.9039"
+         y="35.655811"
+         id="text6474-19"><tspan
+           sodipodi:role="line"
+           id="tspan6472-4"
+           style="stroke-width:0.264583"
+           x="145.9039"
+           y="35.655811">21</tspan></text>
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-8);marker-end:url(#Arrow2Lend-36)"
+         d="m 168.072,31.56383 h 15.84399"
+         id="path7136-78" />
+      <g
+         id="g43819"
+         transform="translate(135.35753,-128.52638)">
+        <rect
+           style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:1"
+           id="rect140-2"
+           width="31.621361"
+           height="15.888521"
+           x="49.971462"
+           y="152.42796" />
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 73.767859,152.75821 v 15.45406"
+           id="path1501-6" />
+        <text
+           xml:space="preserve"
+           style="font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+           x="55.137226"
+           y="164.22986"
+           id="text6474-1"><tspan
+             sodipodi:role="line"
+             id="tspan6472-8"
+             style="stroke-width:0.264583"
+             x="55.137226"
+             y="164.22986">17</tspan></text>
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0);marker-end:url(#Arrow2Lend-3)"
+           d="M 77.305319,160.13789 H 93.149313"
+           id="path7136-7" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.264583"
+           x="95.359497"
+           y="164.22469"
+           id="text6474-3-5-9"><tspan
+             sodipodi:role="line"
+             id="tspan6472-6-6-2"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
+             x="95.359497"
+             y="164.22469">0</tspan></text>
+      </g>
+      <g
+         id="g24758-0"
+         transform="translate(97.719115,-51.525442)">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.264583"
+           x="6.4283442"
+           y="59.566795"
+           id="text17747-2-2"><tspan
+             sodipodi:role="line"
+             id="tspan17745-9-3"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
+             x="6.4283442"
+             y="59.566795">stack</tspan></text>
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-7-0)"
+           d="M 19.888829,62.771786 C 19.48974,74.281073 24.386617,82.521198 40.781022,83.663979"
+           id="path18808-1-7"
+           sodipodi:nodetypes="cc" />
+      </g>
+    </g>
+    <g
+       id="g3624"
+       transform="translate(-7.3070295,-13.303108)">
+      <g
+         id="g702"
+         transform="translate(-1.5543969,-0.09757996)">
+        <rect
+           style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:1"
+           id="rect140-29-3"
+           width="31.621361"
+           height="15.888521"
+           x="140.7131"
+           y="88.780045" />
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="M 164.50949,89.110281 V 104.56434"
+           id="path1501-3-5" />
+        <text
+           xml:space="preserve"
+           style="font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+           x="145.87886"
+           y="100.58194"
+           id="text6474-19-6"><tspan
+             sodipodi:role="line"
+             id="tspan6472-4-2"
+             style="stroke-width:0.264583"
+             x="145.87886"
+             y="100.58194">12</tspan></text>
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-8-3);marker-end:url(#Arrow2Lend-36-7)"
+           d="m 168.04695,96.489961 h 15.84399"
+           id="path7136-78-9" />
+      </g>
+      <rect
+         style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:1"
+         id="rect140-29-6"
+         width="31.621361"
+         height="15.888521"
+         x="183.78406"
+         y="88.682465" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 207.58045,89.0127 v 15.45406"
+         id="path1501-3-1" />
+      <text
+         xml:space="preserve"
+         style="font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+         x="188.94981"
+         y="100.48436"
+         id="text6474-19-5"><tspan
+           sodipodi:role="line"
+           id="tspan6472-4-5"
+           style="stroke-width:0.264583"
+           x="188.94981"
+           y="100.48436">21</tspan></text>
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-8-4);marker-end:url(#Arrow2Lend-36-0)"
+         d="M 211.11791,96.39238 H 226.9619"
+         id="path7136-78-4" />
+      <g
+         id="g43819-7"
+         transform="translate(178.40344,-63.69783)">
+        <rect
+           style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:1"
+           id="rect140-2-6"
+           width="31.621361"
+           height="15.888521"
+           x="49.971462"
+           y="152.42796" />
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 73.767859,152.75821 v 15.45406"
+           id="path1501-6-5" />
+        <text
+           xml:space="preserve"
+           style="font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+           x="55.137226"
+           y="164.22986"
+           id="text6474-1-6"><tspan
+             sodipodi:role="line"
+             id="tspan6472-8-9"
+             style="stroke-width:0.264583"
+             x="55.137226"
+             y="164.22986">17</tspan></text>
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0-6);marker-end:url(#Arrow2Lend-3-0)"
+           d="M 77.305319,160.13789 H 93.149313"
+           id="path7136-7-3" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.264583"
+           x="95.359497"
+           y="164.22469"
+           id="text6474-3-5-9-7"><tspan
+             sodipodi:role="line"
+             id="tspan6472-6-6-2-4"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
+             x="95.359497"
+             y="164.22469">0</tspan></text>
+      </g>
+      <g
+         id="g24758-0-5"
+         transform="translate(96.842054,13.303108)">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.264583"
+           x="6.4283442"
+           y="59.566795"
+           id="text17747-2-2-2"><tspan
+             sodipodi:role="line"
+             id="tspan17745-9-3-5"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
+             x="6.4283442"
+             y="59.566795">stack</tspan></text>
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-7-0-3)"
+           d="M 19.888829,62.771786 C 19.48974,74.281073 24.386617,82.521198 40.781022,83.663979"
+           id="path18808-1-7-4"
+           sodipodi:nodetypes="cc" />
+      </g>
+    </g>
+    <g
+       id="g3599">
+      <rect
+         style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:1"
+         id="rect140"
+         width="31.621361"
+         height="15.888521"
+         x="35.965668"
+         y="75.427032" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="M 59.762066,75.757277 V 91.211331"
+         id="path1501" />
+      <text
+         xml:space="preserve"
+         style="font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+         x="41.131432"
+         y="87.228928"
+         id="text6474"><tspan
+           sodipodi:role="line"
+           id="tspan6472"
+           style="stroke-width:0.264583"
+           x="41.131432"
+           y="87.228928">17</tspan></text>
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#Arrow2Lend)"
+         d="M 63.299526,83.136951 H 79.14352"
+         id="path7136" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.264583"
+         x="81.353706"
+         y="87.223755"
+         id="text6474-3-5"><tspan
+           sodipodi:role="line"
+           id="tspan6472-6-6"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
+           x="81.353706"
+           y="87.223755">0</tspan></text>
+      <g
+         id="g24758"
+         transform="translate(-7.0295076)">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.264583"
+           x="6.4283442"
+           y="59.566795"
+           id="text17747-2"><tspan
+             sodipodi:role="line"
+             id="tspan17745-9"
+             style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583"
+             x="6.4283442"
+             y="59.566795">stack</tspan></text>
+        <path
+           style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend-7)"
+           d="M 19.888829,62.771786 C 19.48974,74.281073 24.386617,82.521198 40.781022,83.663979"
+           id="path18808-1"
+           sodipodi:nodetypes="cc" />
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.86468px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.293233"
+         x="35.846004"
+         y="98.283569"
+         id="text26870"><tspan
+           sodipodi:role="line"
+           id="tspan26868"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.86468px;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.293233"
+           x="35.846004"
+           y="98.283569">data</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.86468px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;letter-spacing:0px;stroke-width:0.293233"
+         x="64.074135"
+         y="71.651909"
+         id="text26870-2"><tspan
+           sodipodi:role="line"
+           id="tspan26868-7"
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.86468px;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.293233"
+           x="64.074135"
+           y="71.651909">next</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;stroke-width:0.264583"
+         x="35.886299"
+         y="111.35505"
+         id="text42316"><tspan
+           sodipodi:role="line"
+           id="tspan42314"
+           style="stroke-width:0.264583"
+           x="35.886299"
+           y="111.35505">element</tspan></text>
+    </g>
+  </g>
+</svg>
diff --git a/slides/figs/fig_empty_queue_insert.png b/slides/figs/fig_empty_queue_insert.png
new file mode 100644
index 0000000000000000000000000000000000000000..62d73bdb4f2aaacb9060748b89575cb0ad1a6f4a
GIT binary patch
literal 13624
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

literal 0
HcmV?d00001

diff --git a/slides/figs/fig_non_empty_queue_insert.png b/slides/figs/fig_non_empty_queue_insert.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d0c4aa785e63dee2b3c57c6643eab01b706aa49
GIT binary patch
literal 20622
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
YZPs*F1_dVz1_lNOPgg&ebxsLQ0LliAUH||9

literal 0
HcmV?d00001

diff --git a/slides/figs/fig_queue_extract.png b/slides/figs/fig_queue_extract.png
new file mode 100644
index 0000000000000000000000000000000000000000..a31dfba6e27cc7cfbe046fef3158da529a93f55d
GIT binary patch
literal 19932
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

literal 0
HcmV?d00001

diff --git a/slides/figs/fig_queue_extract_one.svg b/slides/figs/fig_queue_extract_one.svg
new file mode 100644
index 0000000..7778d43
--- /dev/null
+++ b/slides/figs/fig_queue_extract_one.svg
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="71.796646mm"
+   height="55.054691mm"
+   viewBox="0 0 71.796646 55.054692"
+   version="1.1"
+   id="svg26163"
+   inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
+   sodipodi:docname="fig_queue_extract_one.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview26165"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="mm"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="1.2953002"
+     inkscape:cx="183.35518"
+     inkscape:cy="147.84217"
+     inkscape:window-width="1920"
+     inkscape:window-height="1080"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs26160">
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path8989" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-7"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path8989-5" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-7-3"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path8989-5-6" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-7-2"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path8989-5-9" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-7-27"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path8989-5-0" />
+    </marker>
+  </defs>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-38.04528,-128.39909)">
+    <g
+       id="g27567">
+      <rect
+         style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-opacity:1"
+         id="rect849"
+         width="32.000549"
+         height="13.894769"
+         x="61.211033"
+         y="163.60229" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 77.211308,163.81338 v 13.47261"
+         id="path986" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="63.648254"
+         y="167.44313"
+         id="text3270"><tspan
+           sodipodi:role="line"
+           id="tspan3268"
+           x="63.648254"
+           y="167.44313"
+           style="stroke-width:0.264583">data</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="80.402161"
+         y="167.34151"
+         id="text3270-3"><tspan
+           sodipodi:role="line"
+           id="tspan3268-6"
+           x="80.402161"
+           y="167.34151"
+           style="stroke-width:0.264583">next</tspan></text>
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
+         d="M 90.506705,170.55434 H 101.39839"
+         id="path8966" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-7)"
+         d="m 57.156648,151.19704 9.957227,11.4829"
+         id="path8966-3"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-7-3)"
+         d="m 57.070207,134.41304 13.529066,8.95621"
+         id="path8966-3-0"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.529167, 0.264583;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2Lend-7-2)"
+         d="m 79.884799,151.13428 -8.461285,11.75329"
+         id="path8966-3-1"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.529167, 0.264583;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2Lend-7-27)"
+         d="m 99.450797,151.13241 -25.53153,11.89643"
+         id="path8966-3-9"
+         sodipodi:nodetypes="cc" />
+      <g
+         id="g19539"
+         transform="matrix(0.26458333,0,0,0.26458333,50.232802,175.83868)">
+        <g
+           id="g14281"
+           transform="translate(-30.526542,-27.424011)">
+          <rect
+             style="fill:#ffffff;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             id="rect9442"
+             width="71.481941"
+             height="28.485205"
+             x="-14.786533"
+             y="-94.194954" />
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-weight:normal;font-size:13.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+             x="5.6842546"
+             y="-74.981659"
+             id="text11594"><tspan
+               sodipodi:role="line"
+               id="tspan11592"
+               x="5.6842546"
+               y="-74.981659">elmt</tspan></text>
+        </g>
+      </g>
+      <g
+         id="g19533"
+         transform="matrix(0.26458333,0,0,0.26458333,50.232802,175.83868)">
+        <rect
+           style="fill:#ffffff;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="rect14815"
+           width="139.78581"
+           height="29.670931"
+           x="76.975639"
+           y="-122.71912" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-weight:normal;font-size:13.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+           x="90.747475"
+           y="-103.29707"
+           id="text16175"><tspan
+             sodipodi:role="line"
+             id="tspan16173"
+             x="90.747475"
+             y="-103.29707">tete</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-weight:normal;font-size:13.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+           x="167.53326"
+           y="-102.91296"
+           id="text16175-5"><tspan
+             sodipodi:role="line"
+             id="tspan16173-6"
+             x="167.53326"
+             y="-102.91296">debut</tspan></text>
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m 146.86855,-122.04171 v 28.316121"
+           id="path17624" />
+      </g>
+      <g
+         id="g24610"
+         transform="matrix(0.26458333,0,0,0.26458333,50.232802,175.83868)">
+        <rect
+           style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect20383"
+           width="33.501225"
+           height="22.229925"
+           x="-7.6590633"
+           y="-178.79926" />
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-weight:normal;font-size:13.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
+           x="3.1117313"
+           y="-162.71361"
+           id="text21875"><tspan
+             sodipodi:role="line"
+             id="tspan21873"
+             x="3.1117313"
+             y="-162.71361">fa</tspan></text>
+      </g>
+      <g
+         id="g25290"
+         transform="matrix(0.26458333,0,0,0.26458333,50.232802,175.83868)">
+        <rect
+           style="fill:#ffffff;stroke:#000000;stroke-width:3.77953;stroke-opacity:1"
+           id="rect9338"
+           width="25.912838"
+           height="48.277096"
+           x="197.49173"
+           y="-44.128456" />
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m 198.44004,-28.851968 13.81444,-13.814444"
+           id="path25192" />
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m 198.16174,-17.266685 24.00548,-24.005477"
+           id="path25194" />
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m 198.02184,-6.705438 25.33761,-25.337608"
+           id="path25198" />
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="M 197.49173,4.1486397 223.4456,-21.805234"
+           id="path25200" />
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="M 208.19521,4.2844338 223.75226,-11.272625"
+           id="path25202" />
+      </g>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 57.951433,161.18156 40.25922,21.83269"
+       id="path27602" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 98.210653,161.18156 -40.25922,21.83269"
+       id="path27602-6" />
+  </g>
+</svg>
diff --git a/slides/figs/fig_queue_representation.png b/slides/figs/fig_queue_representation.png
new file mode 100644
index 0000000000000000000000000000000000000000..262d9a7ee941a10e3d50a19ac87a287d6f42ce71
GIT binary patch
literal 7251
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
Kb6Mw<&;$VDzVn&@

literal 0
HcmV?d00001

diff --git a/slides/figs/sorted_list_example.svg b/slides/figs/sorted_list_example.svg
new file mode 100644
index 0000000..f0c4258
--- /dev/null
+++ b/slides/figs/sorted_list_example.svg
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="433.38751mm"
+   height="35.189583mm"
+   viewBox="0 0 433.38751 35.189583"
+   version="1.1"
+   id="svg5"
+   inkscape:version="1.1.1 (3bf5ae0, 2021-09-20)"
+   sodipodi:docname="sorted_list_example.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview7"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="mm"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.46038425"
+     inkscape:cx="606.01552"
+     inkscape:cy="-2.1720986"
+     inkscape:window-width="1892"
+     inkscape:window-height="918"
+     inkscape:window-x="14"
+     inkscape:window-y="44"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs2" />
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(183.74416,-27.912786)">
+    <image
+       width="433.38751"
+       height="35.189583"
+       preserveAspectRatio="none"
+       xlink:href="data:image/png;base64,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
+0P8D14JzHAu7wQwAAAAASUVORK5CYII=
+"
+       id="image844"
+       x="-183.74416"
+       y="27.912786" />
+  </g>
+</svg>
diff --git a/slides/figs/sorted_list_insert_any.svg b/slides/figs/sorted_list_insert_any.svg
new file mode 100644
index 0000000..6fe3382
--- /dev/null
+++ b/slides/figs/sorted_list_insert_any.svg
@@ -0,0 +1,623 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="435.50418mm"
+   height="131.49791mm"
+   viewBox="0 0 435.50418 131.49791"
+   version="1.1"
+   id="svg1465"
+   inkscape:version="1.1.1 (3bf5ae0, 2021-09-20)"
+   sodipodi:docname="sorted_list_insert_fany.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview1467"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="mm"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.63072391"
+     inkscape:cx="807.80195"
+     inkscape:cy="318.68144"
+     inkscape:window-width="1884"
+     inkscape:window-height="1052"
+     inkscape:window-x="36"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs1462" />
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(108.6843,-64.293419)">
+    <image
+       width="435.50418"
+       height="131.49791"
+       preserveAspectRatio="none"
+       xlink:href="data:image/png;base64,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
+"
+       id="image1534"
+       x="-108.6843"
+       y="64.293419" />
+  </g>
+</svg>
diff --git a/slides/figs/sorted_list_insert_first.svg b/slides/figs/sorted_list_insert_first.svg
new file mode 100644
index 0000000..8e25e19
--- /dev/null
+++ b/slides/figs/sorted_list_insert_first.svg
@@ -0,0 +1,726 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="449.79166mm"
+   height="97.344833mm"
+   viewBox="0 0 449.79166 97.344833"
+   version="1.1"
+   id="svg943"
+   inkscape:version="1.1.1 (3bf5ae0, 2021-09-20)"
+   sodipodi:docname="sorted_list_insert_first.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview945"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="mm"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.82888293"
+     inkscape:cx="648.46311"
+     inkscape:cy="341.42337"
+     inkscape:window-width="1884"
+     inkscape:window-height="1052"
+     inkscape:window-x="36"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs940" />
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(129.25175,-88.689751)">
+    <image
+       width="449.79166"
+       height="96.043747"
+       preserveAspectRatio="none"
+       xlink:href="data:image/png;base64,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
+fH2yq6lru//jL/5Rk10FkC6Y70DmYL4DGYUpn3JSIukThH1IY7Is+3y+8HGXy5X4YoDYyzp04sxf
+t2xdOevKw7OTXUsd6rq3nHd/+nco2XUAaYP5DmQO5juQUZjyKSVVkj5B2Id0pSiK1WoNH7fZbGaz
+OeHlABllx9euh+Zt4UNAIBMw34HMwXwHMgpTvq4USvqEEFkxP2PiBQKBGTNmNPVZw4YNi0cxiIco
+4rnp06cHAoE6gwaDgQZeIM7U8pI7Jk1fWnN4sgsBEHfMdyBzMN+BjMKUjyCFkj6RNmGfw+FIdhWI
+I1Vt2ucJfr8/4o+Ex+MxGAyxqQlABKENC+8+b+yjP1eqWmtDABBrzHcgczDfgYzClI8shZI+QRsv
+0pLdbg8fNJvNFosl8cUAu+xc8e6Ucccelm/s3bVdjk6SJEnSd75iXpUQombJq7dOOm9ItxY6SZKk
+3NOf/bs23w6tev/uq8af0KulTpIkqeXZL+273Uxoy4p5T944ZlCXQ+2fVwsh1M2fPTju6G67Ti3p
+co3DJzrfK9u9qVfNTy/fbDX3ytHpsrsOuXD619trh9WtS95yTjjV1Kdnj27tW7c+oNfAkyc43166
+bd+APbR5+UeP288e0LngTn+NEFV/fuK6YnjfLm1aH9Bn6MQnvlV2H1vx3UOnH3mqc8HGkBCi2l88
+MEuSJElnuPT9ynh+YQENYr4DmYP5DmQUpnwG02zS5/f7wwfTYWXfHkVFRRMmTGjkwQsWLIhrMWg+
+r9cb3oq7X263W5blOoMGgyFWMzM1hDYvn/fy0089/eqf5/zvu7tMoT8/eeKue5+Z/d3qms4Fo294
++JFrhhikZNeYWYK/PnvuMKd007tfvHZMx6zQlmWznNYr3N/uejSr/0VTn72o8utbBg2dtrxm77N0
+vUdNeXrUrd/eNuiEqcv2Gd/5o/fGm+9/7ZNfNwdVoTcOF0IIIbU76ZaZ31zyzoRjx7/yR1DKOf2e
+WS9e3G7Pc7KOuGTac0fkLTrhvVGz5XuH5AkhhPrPR9effN6Tqwbe6vv8w+Hd9FuXvTHZYvU65A+/
+febb9y/P14ntpTPucnnefOuzVRWqyBpwTmjjwnsuHHfvd1K3TpJaUb7yc8/1I8vb+N+5tLtOiNyj
+Js9ZcW3VZ/Z+I55eLQ2c8vWX/9dfLyRJn50T9y9wRmO+aw3zHfHDfNca5jvih/muQUx5NFs8kr7C
+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
+IwAAAABJRU5ErkJggg==
+"
+       id="image1012"
+       x="-129.25175"
+       y="89.990837" />
+    <rect
+       style="fill:#feffff;fill-opacity:1;stroke:none;stroke-width:0.269497;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect1038"
+       width="285.98227"
+       height="42.867012"
+       x="27.69311"
+       y="88.689751" />
+  </g>
+</svg>
diff --git a/slides/figs/sorted_list_insert_one.svg b/slides/figs/sorted_list_insert_one.svg
new file mode 100644
index 0000000..548347c
--- /dev/null
+++ b/slides/figs/sorted_list_insert_one.svg
@@ -0,0 +1,416 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="237.06667mm"
+   height="148.96042mm"
+   viewBox="0 0 237.06667 148.96042"
+   version="1.1"
+   id="svg825"
+   inkscape:version="1.1.1 (3bf5ae0, 2021-09-20)"
+   sodipodi:docname="sorted_list_insert_one.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview827"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="mm"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.63072391"
+     inkscape:cx="416.18844"
+     inkscape:cy="279.04444"
+     inkscape:window-width="1884"
+     inkscape:window-height="1052"
+     inkscape:window-x="36"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs822" />
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(4.8870773,-74.840385)">
+    <image
+       width="237.06667"
+       height="148.96042"
+       preserveAspectRatio="none"
+       xlink:href="data:image/png;base64,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
+AKH+BHLwoZh0QRkbAAAAAElFTkSuQmCC
+"
+       id="image894"
+       x="-4.8870773"
+       y="74.840385" />
+  </g>
+</svg>
-- 
GitLab