Accueil Finances personnelles Heaps binaires et arbres de recherche binaire utilisés dans les algorithmes - dummies

Heaps binaires et arbres de recherche binaire utilisés dans les algorithmes - dummies

Vidéo: Le principe du Tri par tas. Partie 1 2025

Vidéo: Le principe du Tri par tas. Partie 1 2025
Anonim

Un type particulier de structure arborescente est le tas binaire, qui place chacun des éléments du nœud dans un ordre spécial. Les arborescences de recherche vous permettent de rechercher rapidement des données. Obtenir des éléments de données, les placer dans un ordre trié dans un arbre, puis rechercher dans cet arbre est l'un des moyens les plus rapides de trouver des informations.

Dans un tas binaire, le noeud racine contient toujours la plus petite valeur. Lorsque vous regardez les branches, vous voyez que les branches de niveau supérieur ont toujours une valeur plus petite que les branches et les feuilles de niveau inférieur. L'effet est de garder l'arbre équilibré et dans un ordre prévisible afin que la recherche devient extrêmement efficace. Le coût est en gardant l'arbre équilibré.

Parmi toutes les tâches effectuées par les applications, la recherche est la plus longue et la plus demandée. Même si l'ajout de données (et le tri ultérieur) nécessite un certain temps, l'avantage de créer et de maintenir un ensemble de données provient de son utilisation pour effectuer un travail utile, ce qui signifie qu'il doit rechercher des informations importantes. Par conséquent, vous pouvez parfois vous en sortir avec une fonctionnalité CRUD moins efficace et même une routine de tri moins qu'optimale, mais les recherches doivent être aussi efficaces que possible. Le seul problème est qu'aucune recherche n'effectue toutes les tâches avec une efficacité absolue, vous devez donc peser vos options en fonction de ce que vous attendez de faire dans le cadre des routines de recherche.

Deux des méthodes de recherche les plus efficaces impliquent l'utilisation de l'arbre de recherche binaire (BST) et du tas binaire. Les deux techniques de recherche s'appuient sur une structure arborescente pour contenir les clés utilisées pour accéder aux éléments de données. Cependant, l'arrangement des deux méthodes est différent, ce qui explique pourquoi l'un a des avantages sur l'autre lorsqu'il exécute certaines tâches. Cette figure montre l'arrangement pour un BST.

La disposition des touches lors de l'utilisation d'un BST.

Notez comment les touches suivent un ordre dans lequel des nombres plus petits apparaissent à gauche et des nombres plus grands apparaissent à droite. Le nœud racine contient une valeur qui se trouve au milieu de la plage de touches, ce qui donne au BST une approche équilibrée facile à comprendre pour stocker les clés. Comparez cet arrangement au tas binaire montré ici.

La disposition des clés lors de l'utilisation d'un tas binaire.

Chaque niveau contient des valeurs inférieures au niveau précédent et la racine contient la valeur de clé maximale pour l'arborescence. De plus, dans ce cas particulier, les valeurs les plus basses apparaissent à gauche et les plus grandes à droite (bien que cet ordre ne soit pas strictement appliqué). La figure représente en fait un tas max binaire. Vous pouvez également créer un tas binaire min dans lequel la racine contient la valeur de clé la plus basse et chaque niveau génère des valeurs plus élevées, les valeurs les plus élevées apparaissant dans les feuilles.

Comme indiqué précédemment, BST présente certains avantages par rapport au tas binaire lorsqu'il est utilisé pour effectuer une recherche. La liste suivante fournit quelques-uns des points forts de ces avantages:

  • La recherche d'un élément nécessite un temps O (log n), par rapport au temps O (n) pour un tas binaire.
  • L'impression des éléments dans l'ordre ne nécessite que l'heure O (log n), contrairement à l'heure O (n log n) pour un tas binaire.
  • Trouver le plancher et le plafond nécessite un temps O (log n).
  • La localisation du Kth plus petit / plus grand élément nécessite l'heure O (log n) lorsque l'arbre est correctement configuré.

L'importance de ces temps dépend de votre application. BST a tendance à mieux fonctionner dans les situations où vous passez plus de temps à chercher et moins de temps à construire l'arbre. Un tas binaire a tendance à mieux fonctionner dans les situations dynamiques dans lesquelles les clés changent régulièrement. Le tas binaire offre également des avantages, comme décrit dans la liste suivante:

  • La création des structures requises nécessite moins de ressources car les tas binaires reposent sur des tableaux, ce qui les rend également plus conviviaux.
  • La construction d'un tas binaire nécessite un temps O (n), contrairement à BST, qui nécessite un temps O (n log n).
  • L'utilisation de pointeurs pour implémenter l'arborescence n'est pas nécessaire.
  • S'appuyer sur des variations de tas binaires (par exemple, le tas de Fibonacci) offre des avantages tels que l'augmentation et la diminution des temps clés de O (1) temps.
Heaps binaires et arbres de recherche binaire utilisés dans les algorithmes - dummies

Le choix des éditeurs

Conventions de dénomination pour Ruby on Rails - mannequins

Conventions de dénomination pour Ruby on Rails - mannequins

Vous utilisez Ruby on Rails pour créer un site Web application ou application de base de données Web, ce qui est très intelligent de votre part. En fonction de ce que vous utilisez (une application, une relation un-à-plusieurs ou une relation plusieurs-à-plusieurs), vous utilisez différentes variantes des protocoles d'attribution de noms Rails, qui sont expliquées dans les sections suivantes. Ruby Naming for ...

En orbite, panoramique et zoom dans la vue 3D de Blender - mannequins

En orbite, panoramique et zoom dans la vue 3D de Blender - mannequins

En essayant de naviguer dans un espace en trois dimensions à travers un écran bidimensionnel comme un écran d'ordinateur, vous ne pouvez pas interagir avec cet espace 3D virtuel exactement comme vous le feriez dans le monde réel, ou espace de vie. La meilleure façon de visualiser le travail en 3D à travers un programme comme Blender est d'imaginer la vue 3D comme vos yeux ...

Déplacement de clips sur la timeline dans Final Cut Pro HD - Ficelles

Déplacement de clips sur la timeline dans Final Cut Pro HD - Ficelles

Final Cut Pro HD Timeline vous permet d'organiser tous vos clips vidéo et audio afin qu'ils racontent l'histoire que vous voulez raconter. Pour comprendre le fonctionnement de la Timeline, imaginez-la comme une page de partitions, mais plutôt que de placer des notes de musique de différentes durées (noires, demi-notes, ...

Le choix des éditeurs

Contrôle et modification de l'associativité des dimensions dans AutoCAD - Dummies

Contrôle et modification de l'associativité des dimensions dans AutoCAD - Dummies

Lorsque vous ajoutez des dimensions en sélectionnant des objets ou en utilisant l'accrochage aux objets Pour sélectionner des points sur les objets, AutoCAD crée normalement des dimensions associatives, qui sont connectées aux objets et se déplacent avec eux. C'est le cas dans les nouveaux dessins créés à l'origine dans toute version d'AutoCAD à partir de 2002. Si vous ...

Copie de styles de cote existants dans AutoCAD 2008 - mannequins

Copie de styles de cote existants dans AutoCAD 2008 - mannequins

Si vous avez la chance de travailler dans un bureau Quelqu'un a mis en place des styles de cotes qui conviennent à votre secteur d'activité et à votre projet. Vous pouvez le copier et ainsi éviter de devoir créer vos propres styles de cote. (Un style de cote - ou dimstyle pour faire court - est une collection de paramètres de dessin appelée dimension ...

En choisissant un style d'édition AutoCAD -

En choisissant un style d'édition AutoCAD -

Dans AutoCAD vous passez généralement plus de temps à éditer que dessiner des objets. C'est en partie parce que le processus de conception et de rédaction est, par nature, sujet à des changements, et aussi parce que AutoCAD vous permet de modifier facilement les objets proprement. AutoCAD propose trois styles d'édition: Commande-première Sélection-première Objet-direct (poignée) AutoCAD fait référence à l'édition de commandes comme verbe-nom ...

Le choix des éditeurs

Praxis Examen d'éducation élémentaire - Présentations orales - mannequins

Praxis Examen d'éducation élémentaire - Présentations orales - mannequins

Parce que les élèves doivent généralement donner des présentations orales en classe , vous rencontrerez probablement une question sur ce sujet dans l'examen Praxis Elementary Education. Plus formelles que les discussions de groupe, les présentations orales ont leurs propres règles pour le conférencier. Lorsque vous donnez une présentation en classe, il y a plusieurs ...

Praxis Examen d'éducation élémentaire - Littérature et texte d'information - mannequins

Praxis Examen d'éducation élémentaire - Littérature et texte d'information - mannequins

L'examen Praxis Elementary Education sur la littérature et le texte d'information, c'est-à-dire la fiction et la non-fiction. Vous devrez donc vous familiariser avec les différents genres d'écriture. La compréhension du texte est un processus qui se produit au fil du temps.

Praxis Examen d'éducation élémentaire - Connaissance phonologique - mannequins

Praxis Examen d'éducation élémentaire - Connaissance phonologique - mannequins

Vous rencontrerez probablement une ou deux questions qui impliquent des questions phonologiques sensibilisation à l'examen Praxis Elementary Education. La conscience phonologique est une compétence large impliquant la reconnaissance de son. Les lecteurs débutants commencent par apprendre les sons individuels, ou phonèmes, dans des mots parlés. Par exemple, le mot chat a trois phonèmes: / c / / a / / t /. Un lecteur débutant apprend ...