Dans un premier temps, nous comprendrons le arbre binaire et arbre de recherche binaire séparément, puis nous examinerons les différences entre un arbre binaire et un arbre de recherche binaire.
Qu'est-ce qu'un arbre binaire ?
UN Arbre binaire est un
L'arbre binaire peut être représenté comme suit :
Dans la figure ci-dessus, nous pouvons observer que chaque nœud contient au maximum 2 enfants. Si un nœud ne contient pas d'enfant gauche ou droit, la valeur du pointeur par rapport à cet enfant serait NULL.
Les terminologies de base utilisées dans un arbre binaire sont :
Dans un arbre binaire, il existe un arbre appelé arbre binaire parfait . C'est un arbre dans lequel tous les nœuds internes doivent contenir deux nœuds, et tous les nœuds feuilles doivent être à la même profondeur. Dans le cas d'un arbre binaire parfait, le nombre total de nœuds existants dans un arbre binaire peut être calculé à l'aide de l'équation suivante :
n = 2m+1-1
qui a fait l'école
où n est le nombre de nœuds, m est la profondeur d'un nœud.
Qu’est-ce qu’un arbre de recherche binaire ?
UN Arbre de recherche binaire est un arbre qui suit un certain ordre pour organiser les éléments, alors que l'arbre binaire ne suit aucun ordre. Dans un arbre de recherche binaire, la valeur du nœud gauche doit être inférieure à celle du nœud parent et la valeur du nœud droit doit être supérieure à celle du nœud parent.
Comprenons le concept d'arbre de recherche binaire à travers des exemples.
Dans la figure ci-dessus, nous pouvons observer que la valeur du nœud racine est de 15, ce qui est supérieur à la valeur de tous les nœuds du sous-arbre de gauche. La valeur du nœud racine est inférieure aux valeurs de tous les nœuds d'un sous-arbre droit. Passons maintenant au fils gauche du nœud racine. 10 est supérieur à 8 et inférieur à 12 ; il satisfait également à la propriété de l'arbre de recherche binaire. Passons maintenant au fils droit du nœud racine ; la valeur 20 est supérieure à 17 et inférieure à 25 ; il satisfait également à la propriété de l'arbre de recherche binaire. Par conséquent, nous pouvons dire que l’arbre présenté ci-dessus est l’arbre de recherche binaire.
Maintenant, si nous changeons la valeur de 12 en 16 dans l'arbre binaire ci-dessus, nous devons déterminer s'il s'agit toujours d'un arbre de recherche binaire ou non.
point java
La valeur du nœud racine est 15, ce qui est supérieur à 10 mais inférieur à 16, il ne satisfait donc pas à la propriété de l'arbre de recherche binaire. Il ne s’agit donc pas d’un arbre de recherche binaire.
Opérations sur l'arbre de recherche binaire
Nous pouvons effectuer des opérations d'insertion, de suppression et de recherche sur l'arbre de recherche binaire. Comprenons comment une recherche est effectuée sur une recherche binaire. L'arbre binaire est présenté ci-dessous sur lequel nous devons effectuer l'opération de recherche :
Supposons que nous devions rechercher 10 dans l’arbre binaire ci-dessus. Pour effectuer la recherche binaire, nous considérerons tous les entiers d’un tableau trié. Tout d’abord, nous créons une liste complète dans un espace de recherche, et tous les numéros existeront dans l’espace de recherche. L'espace de recherche est marqué par deux pointeurs, c'est-à-dire début et fin. Le tableau de l’arbre binaire ci-dessus peut être représenté comme
Tout d’abord, nous allons calculer l’élément du milieu et comparer l’élément du milieu avec l’élément à rechercher. L'élément du milieu est calculé en utilisant n/2. La valeur de n est 7 ; par conséquent, l'élément du milieu est 15. L'élément du milieu n'est pas égal à l'élément recherché, c'est-à-dire 10.
Remarque : Si l'élément recherché est inférieur à l'élément central, la recherche sera effectuée dans la moitié gauche ; sinon, la recherche se fera sur la moitié droite. En cas d'égalité, l'élément est trouvé.
Comme l'élément à rechercher est inférieur à l'élément médian, la recherche sera effectuée sur le tableau de gauche. Désormais, la recherche est réduite de moitié, comme indiqué ci-dessous :
L'élément médian du tableau de gauche est 10, ce qui est égal à l'élément recherché.
date locale java
Complexité temporelle
Dans une recherche binaire, il y a n éléments. Si l'élément du milieu n'est pas égal à l'élément recherché, alors l'espace de recherche est réduit à n/2, et nous continuerons à réduire l'espace de recherche de n/2 jusqu'à ce que nous trouvions l'élément. Dans toute la réduction, si l’on passe de n à n/2 à n/4 et ainsi de suite, alors il faudra log2n étapes.
Différences entre l'arbre binaire et l'arbre de recherche binaire
Base de comparaison | Arbre binaire | Arbre de recherche binaire |
---|---|---|
Définition | Un arbre binaire est une structure de données non linéaire dans laquelle un nœud peut avoir au maximum deux enfants, c'est-à-dire qu'un nœud peut avoir 0, 1 ou au maximum deux enfants. Un arbre de recherche binaire est un arbre binaire ordonné dans lequel un certain ordre est suivi pour organiser les nœuds dans un arbre. | |
Structure | La structure de l'arbre binaire est telle que le premier nœud ou le nœud le plus élevé est appelé nœud racine. Chaque nœud d'un arbre binaire contient le pointeur gauche et le pointeur droit. Le pointeur gauche contient l'adresse du sous-arbre gauche, tandis que le pointeur droit contient l'adresse du sous-arbre droit. | L'arbre de recherche binaire est l'un des types d'arbre binaire dont la valeur de tous les nœuds du sous-arbre gauche est inférieure ou égale au nœud racine, et la valeur de tous les nœuds d'un sous-arbre droit est supérieure ou égale à la valeur du nœud racine. |
Opérations | Les opérations qui peuvent être implémentées sur un arbre binaire sont l'insertion, la suppression et le parcours. | Les arbres de recherche binaires sont des arbres binaires triés qui permettent une insertion, une suppression et une recherche rapides. Les recherches implémentent principalement la recherche binaire car toutes les clés sont classées par ordre trié. |
les types | Quatre types d'arbres binaires sont l'arbre binaire complet, l'arbre binaire complet, l'arbre binaire parfait et l'arbre binaire étendu. | Il existe différents types d'arbres de recherche binaires tels que les arbres AVL, les arbres Splay, les arbres Tango, etc. |