From 081a23f2ea15f7dc81aff0672d1c79a29219de3c Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Fri, 25 Feb 2022 09:08:41 +0100 Subject: [PATCH] forgot to push cours_16 so i'm stuck with that for the moment --- slides/tri_par_tas.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 slides/tri_par_tas.md diff --git a/slides/tri_par_tas.md b/slides/tri_par_tas.md new file mode 100644 index 0000000..77c3d78 --- /dev/null +++ b/slides/tri_par_tas.md @@ -0,0 +1,29 @@ +--- +title: "Le tri par tas" +date: "2022-03-02" +--- + +# Trier un tableau à l'aide d'un arbre binaire + +* Tableau représenté comme un arbre binaire. +* Aide à comprendre "comment" trier, mais on ne construit jamais l'arbre. +* Complexité $O(N\log_2 N)$ en moyenne et grande stabilité (pas de cas + dégénérés). + +# Lien entre arbre et tableau + +* La racine de l'arbre set le premier élément du tableau. +* Les deux fils d'un noeud d'indice $i$, ont pour indices $2i+1$ et $2i+2$: + * Les fils du noeud $i=0$, sont à $2\cdot 0+1=1$ et $2\cdot 0+2=2$. + * Les fils du noeud $i=1$, sont à $2\cdot 1+1=3$ et $2\cdot 1+2=4$. + * Les fils du noeud $i=2$, sont à $2\cdot 2+2=5$ et $2\cdot 1+2=6$. + * Les fils du noeud $i=3$, sont à $2\cdot 3+1=7$ et $2\cdot 3+2=8$. +* Un élément d'indice $i$ a pour parent l'élément $(i-1)/2$ (division entière): + * Le parent du noeud $i=8$ est $(8-1)/2=3$. + * Le parent du noeud $i=7$ est $(7-1)/2=3$. + +# Visuellement + + + + -- GitLab