Skip to content
Snippets Groups Projects
Verified Commit f76b59aa authored by orestis.malaspin's avatar orestis.malaspin
Browse files

typos

parent 623780f1
Branches
No related tags found
No related merge requests found
Pipeline #36681 passed
......@@ -12,12 +12,12 @@ date: "2024-12-16"
* 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, ...
* File à un guichet,
* Serveur d'impressions,
* Mémoire tampon, ...
## Fonctionnalités
. . .
* Enfiler: ajouter un élément à la fin de la file.
......@@ -85,7 +85,7 @@ void queue_destroy(queue *fa);
# Enfilage
## Deux cas différents:
## Deux cas différents
1. La file est vide (faire un dessin):
......@@ -136,7 +136,6 @@ void queue_enqueue(queue *fa, int val) {
![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
......@@ -172,7 +171,7 @@ On défile jusqu'à ce que la file soit vide!
# Complexité
## Quelle sont les complexité de:
## Quelle est la complexité de
* Enfiler?
......@@ -188,7 +187,6 @@ On défile jusqu'à ce que la file soit vide!
* Est vide?
# Implémentation alternative
## Comment implémenter la file autrement?
......@@ -236,7 +234,6 @@ typedef struct _queue {
```
* Enfiler?
. . .
......@@ -261,7 +258,7 @@ typedef struct _queue {
# Complexité
## Quelle sont les complexités de:
## Quelle est les complexités de
* Initialisation?
......@@ -282,7 +279,6 @@ typedef struct _queue {
```
* Enfiler?
. . .
......@@ -421,7 +417,6 @@ Une liste chaînée triée est:
## Quelle structure de données dans notre cas?
Une liste chaînée bien sûr (oui c'est pour vous entraîner)!
```C
......@@ -535,9 +530,9 @@ sorted_list sorted_list_push(sorted_list list, int val) {
sorted_list sorted_list_extract(sorted_list list, int val) {
element *prec = *crt = list; // needed to glue elements together
while (NULL != crt && val > crt->data) {
prec = crt;
crt = crt->next;
}
prec = crt;
crt = crt->next;
}
if (NULL != crt && prec != crt && crt->data == val) { // glue things together
prec->next = crt->next;
free(crt);
......@@ -546,7 +541,6 @@ sorted_list sorted_list_extract(sorted_list list, int val) {
}
```
# L'extraction (2/3)
2. L'élément à extraire est le premier élément de la liste
......@@ -563,9 +557,9 @@ sorted_list sorted_list_extract(sorted_list list, int val) {
sorted_list sorted_list_extract(sorted_list list, int val) {
element *prec = *crt = list; // needed to glue elements together
while (NULL != crt && val > crt->data) {
prec = crt;
crt = crt->next;
}
prec = crt;
crt = crt->next;
}
// glue things together
if (NULL != crt && crt->data == val && prec == crt) {
list = list->next;
......@@ -594,9 +588,9 @@ On retourne la liste inchangée.
sorted_list sorted_list_extract(sorted_list list, int val) {
element *prec = *crt = list; // needed to glue elements together
while (NULL != crt && val > crt->data) {
prec = crt;
crt = crt->next;
}
prec = crt;
crt = crt->next;
}
if (NULL == crt || crt->data != val) { // val not present
return list;
}
......@@ -605,8 +599,6 @@ sorted_list sorted_list_extract(sorted_list list, int val) {
# La recherche
```C
element* sorted_list_search(sorted_list list, int val);
```
......@@ -692,14 +684,13 @@ $$
\mathcal{O}(N).
$$
# Liste doublement chaînée
## Application: navigateur ou éditeur de texte
* Avec une liste chaînée:
* Comment implémenter les fonctions `back` et `forward` d'un navigateur?
* Comment implémenter les fonctions `undo` et `redo` d'un éditeur de texte?
* Comment implémenter les fonctions `back` et `forward` d'un navigateur?
* Comment implémenter les fonctions `undo` et `redo` d'un éditeur de texte?
. . .
......@@ -737,7 +728,7 @@ Pas possible.
2. Écrire les fonctionnalités de création et consultation
```C
```C
// crée la liste doublement chaînée
dll dll_create();
// retourne la valeur à la position actuelle dans la liste
......@@ -756,9 +747,9 @@ void dll_print(dll list);
# Liste doublement chaînée
3. Écrire les fonctionnalités de manipulation
3. Écrire les fonctionnalités de manipulation
```C
```C
// déplace pos au début de la liste
dll dll_move_to_head(dll list);
// déplace pos à la position suivante dans la liste
......@@ -789,4 +780,3 @@ int dll_pop(dll *list);
// vide la liste
void dll_destroy(dll *list);
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment