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 - -{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 + +{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. + +{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. + +{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): + +. . . + +{width=40%} + +2. La file n'est pas vide (faire un dessin): + +. . . + +{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): + +. . . + +{width=80%} + +2. La file un seul élément (faire un dessin): + +. . . + +{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. + + + +. . . + +* 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. + +. . . + +{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. + +. . . + +{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. + +. . . + +{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