Pouvez-vous effectuer une recherche binaire dans une liste chaînée ?
Pouvez-vous effectuer une recherche binaire dans une liste chaînée ?

Vidéo: Pouvez-vous effectuer une recherche binaire dans une liste chaînée ?

Vidéo: Pouvez-vous effectuer une recherche binaire dans une liste chaînée ?
Vidéo: [ALGO1] Chap. 5 Structures de données Tableau/Liste - Part. 4 : Liste chaînée : premières fonctions 2024, Novembre
Anonim

Oui, Recherche binaire est possible sur le liste chaînée si les liste est commandé et tu connaître le nombre d'éléments dans liste . Mais en triant les liste , vous pouvez accéder à un seul élément à la fois via un pointeur vers ce nœud, c'est-à-dire soit un nœud précédent, soit un nœud suivant.

Justement, quelle sera la complexité temporelle lorsqu'une recherche binaire est appliquée sur une liste chaînée ?

Complexité temporelle ne doit pas être supérieur à O(log n). Comme la liste chaînée fait pas fournir un accès aléatoire si nous essayons de appliquer la recherche binaire algorithme il volonté atteindre O(n) car nous devons trouve longueur de la liste et allez au milieu.

Sachez également, comment la recherche binaire est-elle implémentée ? Recherche binaire : Chercher un tableau trié en divisant à plusieurs reprises le chercher intervalle de moitié. Commencez par un intervalle couvrant l'ensemble du tableau. Si la valeur de la chercher clé est inférieure à l'élément au milieu de l'intervalle, réduisez l'intervalle à la moitié inférieure. Sinon, réduisez-le à la moitié supérieure.

De ce fait, quelle méthode la recherche binaire utilise-t-elle pour trouver un élément dans une liste ?

Recherche binaire fonctionne sur des tableaux triés. Recherche binaire commence par comparer un élément au milieu du tableau avec la cible valeur . Si la cible valeur correspond au élément , sa position dans le tableau est renvoyée. Si la cible valeur est inférieur au élément , les chercher continue dans la moitié inférieure du tableau.

Comment parcourir une liste chaînée ?

Un Itérateur peut être utilisé pour boucler par un Liste Liée . La méthode hasNext() renvoie true s'il y a plus d'éléments dans Liste Liée et faux sinon. La méthode next() renvoie l'élément suivant dans le Liste Liée et lève l'exception NoSuchElementException s'il n'y a pas d'élément suivant.

Conseillé: