From 56ae1496492064d03570992e5fc32379e579dd93 Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Mon, 11 Apr 2022 08:59:58 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20d=C3=A9but=20barbres?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- slides/cours_22.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 slides/cours_22.md diff --git a/slides/cours_22.md b/slides/cours_22.md new file mode 100644 index 0000000..4e7a8fc --- /dev/null +++ b/slides/cours_22.md @@ -0,0 +1,90 @@ +--- +title: "B-Arbres" +date: "2022-04-13" +patat: + eval: + tai: + command: fish + fragment: false + replace: true + ccc: + command: fish + fragment: false + replace: true + images: + backend: auto +--- + +# Le cours précédent + +* Questions: + + + +# Les B-arbres + +## Problématique + +* Grands jeux de données (en 1970). +* Stockage dans un arbre, mais l'arbre tiens pas en mémoire. +* Regrouper les sous-arbres en **pages** qui tiennent en mémoire. + +## Exemple + +* 100 noeuds par page et l'arbre comporte $10^6$ noeuds: + * Recherche B-arbre: $\log_{100}(10^6)=3$; + * Recherche ABR: $\log_2(10^6)=20$. + +## Remarques + +* On sait pas ce que veut dire `B`: Bayer, Boeing, Balanced? +* Variante plus récente B+-arbres. + +# Les B-arbres + +## Illustration, arbre divisé en pages de 3 noeuds + + + +. . . + +## Utilisation + +* Bases de données; +* Système de fichier. + +# Les B-arbres + +## Avantages + +* Arbres moins profonds; +* Diminue les opération de rééquilibrage; +* Complexité toujours en $\log(N)$; + +. . . + +## Définition: B-arbre d'ordre $n$ + +* Chaque page d'un arbre contient au plus $2\cdot n$ *clés*; +* Chaque page (excepté la racine) contient au moins $n$ clés; +* Chaque page qui contient $m$ clés contient soit: + * $0$ descendants; + * $m+1$ descendants. +* Toutes les pages terminales apparaissent au même niveau. + +# Les B-arbres + +## Est-ce un B-arbre? + + + +. . . + +## Oui! + +* Chaque page contient au plus $n$ noeuds: check; +* Chaque noeud avec $m$ clés a $m+1$ descendants; +* Toutes les feuilles apparaissent au même niveau. + + + -- GitLab