28 lines
1.2 KiB
Markdown
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)$
|