cours/arbre binaire de recherche.md
Oscar Plaisant 602a41e7f8 update
2024-12-25 22:30:24 +01:00

28 lines
1.2 KiB
Markdown

up::[[structure de données]]
#s/informatique/algorithmie
---
Un _arbre binaire de recherche_ est un [[arbre binaire]] particulier.
Il est tel que, pour tout noeud $N$ de l'arbre, l'ensemble des descendants à droite de $N$ ont des valeurs supérieures à celles de $N$, et l'ensemble des descentants à gauche de $N$ ont des valeurs inférieures à celles de $N$.
**Note :** On peut inverser la droite et la gauche dans cette définition. Cela équivaut à [[arbre binaire inverse|inverser]] l'arbre.
# Propriétés
## Complexité des opérations
[[complexité algorithmique]]
Dans un arbre binaire de recherche avec $n$ noeuds :
- La **recherche** d'un élément
- meilleur cas : $O(1)$
- cas moyen : $O(\log_2 n)$
- pire cas : $O(n)$ si l'arbre n'est pas [[arbre équilibré|équilibré]]
- L'**insertion** d'un nouvel élément
- meilleur cas : $O(1)$
- cas moyen : $O(\log_2 n)$
- pire cas : $O(n)$ si l'arbre n'est pas [[arbre équilibré|équilibré]]
- La **suppression** d'un élément est en $O(\log_2 n)$
- meilleur cas : $O(1)$
- cas moyen : $O(\log_2 n)$
- pire cas : $O(n)$ si l'arbre n'est pas [[arbre équilibré|équilibré]]
- L'**[[arbre binaire inverse|inversion]]** d'un arbre est en $O(n)$