Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cours
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
iliya.saroukha
cours
Commits
e6427ffa
Verified
Commit
e6427ffa
authored
1 year ago
by
orestis.malaspin
Browse files
Options
Downloads
Patches
Plain Diff
orthographe
parent
ab997b09
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
slides/cours_21.md
+17
-17
17 additions, 17 deletions
slides/cours_21.md
with
17 additions
and
17 deletions
slides/cours_21.md
+
17
−
17
View file @
e6427ffa
...
...
@@ -417,7 +417,7 @@ Pour calculer la force sur un corps `c`, on parcourt l'arbre en commençant par
*
Sinon on continue sur les enfants récursivement.
## Cotinuo
u
s notre exemple précédent!
## Co
n
tinuo
n
s notre exemple précédent!
# Calcul de la force
...
...
@@ -434,7 +434,7 @@ Pour calculer la force sur un corps `c`, on parcourt l'arbre en commençant par
# Algorithme du calcul de force
## Écrire le ps
uedo
-code du calcul de la force
## Écrire le ps
eudo-code
-code du calcul de la force
\f
ootnotesize
...
...
@@ -462,7 +462,7 @@ rien maj_force_sur_etoile(arbre, e, theta)
## Exemple
*
100 n
oe
uds par page et l'arbre comporte $10^6$ n
oe
uds:
*
100 n
œ
uds par page et l'arbre comporte $10^6$ n
œ
uds:
*
Recherche B-arbre: $
\l
og_{100}(10^6)=3$;
*
Recherche ABR: $
\l
og_2(10^6)=20$.
*
Si on doit lire depuis le disque: $10
\m
athrm{ms}$ par recherche+lecture:
...
...
@@ -475,9 +475,9 @@ rien maj_force_sur_etoile(arbre, e, theta)
# Les B-arbres
## Illustration, arbre divisé en pages de 3 n
oe
uds
## Illustration, arbre divisé en pages de 3 n
œ
uds


. . .
...
...
@@ -515,9 +515,9 @@ rien maj_force_sur_etoile(arbre, e, theta)
## Oui!
*
Dans chaque n
oe
ud les clés sont
**triées**
.
*
Chaque page contient au plus $n$ n
oe
uds: check;
*
Chaque n
oe
ud avec $m$ clés a $m+1$ descendants;
*
Dans chaque n
œ
ud les clés sont
**triées**
.
*
Chaque page contient au plus $n$ n
œ
uds: check;
*
Chaque n
œ
ud avec $m$ clés a $m+1$ descendants;
*
Toutes les feuilles apparaissent au même niveau.
# Les B-arbres
...
...
@@ -626,7 +626,7 @@ rien maj_force_sur_etoile(arbre, e, theta)
*
On descend à droite (on peut pas insérer à la racine comme pour
`4`
);
*
On dépasse la capacité de l'enfant droite;
*
`4`
, médiane de
`3, 4, 5`
, remonte à la racine;
*
On crée un nouveau n
oe
ud à droite de
`4`
;
*
On crée un nouveau n
œ
ud à droite de
`4`
;
*
La règle
`m => m+1`
est ok.
# Les B-arbres
...
...
@@ -734,7 +734,7 @@ rien maj_force_sur_etoile(arbre, e, theta)
## Structure de données
*
Chaque page a une contrainte de remplissage, par rapport à l'ordre de l'arbre;
*
Un n
oe
ud (page) est composé d'un tableau de clés/pointeurs vers les enfants;
*
Un n
œ
ud (page) est composé d'un tableau de clés/pointeurs vers les enfants;
```
P_0 | K_1 | P_1 | K_2 | | P_i | K_{i+1} | | P_{m-1} | K_m | P_m
...
...
@@ -751,7 +751,7 @@ P_0 | K_1 | P_1 | K_2 | | P_i | K_{i+1} | | P_{m-1} | K_m | P_m
. . .


1.
On veut un tableau de
`P_i, K_i => struct`
;
2.
`K_0`
va être en "trop";
...
...
@@ -759,7 +759,7 @@ P_0 | K_1 | P_1 | K_2 | | P_i | K_{i+1} | | P_{m-1} | K_m | P_m
# Les B-arbres
## L'insertion cas n
oe
ud pas plein, insertion `4`?
## L'insertion cas n
œ
ud pas plein, insertion `4`?

{width=50%}
...
...
@@ -771,7 +771,7 @@ P_0 | K_1 | P_1 | K_2 | | P_i | K_{i+1} | | P_{m-1} | K_m | P_m
# Les B-arbres
## L'insertion cas n
oe
ud pas plein, insertion `N`
## L'insertion cas n
œ
ud pas plein, insertion `N`
*
On décale les éléments plus grand que
`N`
;
*
On insère
`N`
dans la place "vide";
...
...
@@ -779,7 +779,7 @@ P_0 | K_1 | P_1 | K_2 | | P_i | K_{i+1} | | P_{m-1} | K_m | P_m
# Les B-arbres
## L'insertion cas n
oe
ud plein, insertion `2`?
## L'insertion cas n
œ
ud plein, insertion `2`?

{width=50%}
...
...
@@ -791,7 +791,7 @@ P_0 | K_1 | P_1 | K_2 | | P_i | K_{i+1} | | P_{m-1} | K_m | P_m
# Les B-arbres
## L'insertion cas n
oe
ud plein, promotion `3`?
## L'insertion cas n
œ
ud plein, promotion `3`?

{width=50%}
...
...
@@ -803,12 +803,12 @@ P_0 | K_1 | P_1 | K_2 | | P_i | K_{i+1} | | P_{m-1} | K_m | P_m
# Les B-arbres
## L'insertion cas n
oe
ud plein, insertion `N`
## L'insertion cas n
œ
ud plein, insertion `N`
*
On décale les éléments plus grand que
`N`
;
*
On insère
`N`
dans la place "vide";
*
Si la page est pleine:
*
On trouve la vale
nt
médian
c
e
`M`
de la page (quel indice?);
*
On trouve la vale
ur
médiane
`M`
de la page (quel indice?);
*
On crée une nouvelle page de droite;
*
On copie les valeur à droite de
`M`
dans la nouvelle page;
*
On promeut
`M`
dans la page du dessus;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment