diff --git a/slides/tri_par_tas.md b/slides/tri_par_tas.md new file mode 100644 index 0000000000000000000000000000000000000000..77c3d78f86f079e8469289f6fc9cf645a8fa5d85 --- /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 + + + +