structure de données d'apprentissage neuvième jour (a) (y compris le nombre de lignes directrices d'apprentissage)

Directives pour apprendre: comment regarder sur la documentation, à savoir: Quelles sont les fonctions d'interface à utiliser et ainsi de suite.  

Pour un tas ce genre de chose, maintenant est: écrire une chose à réaliser.

Pour PriorityQueue peut entasser la mise en œuvre, il devrait y avoir un correspondant déjà écrit, vous pouvez appeler l' interface

 

Pour tas a été fait, alors regardez PriorityQueue, puis faire leetcode après avoir lu le titre

 

Pour la compréhension de la file d'attente prioritaire:

Il a été la file d'attente: résultats FIFO

Quant à la file d'attente prioritaire: vip parvenir à une fonctionnelle, premier sorti peut ne pas être avancée, avec le noeud de haute priorité, premier sorti.

Ceci est l'introduction de la file d'attente prioritaire et l'effet.

Et tas relation: tas sont maximum et minimum peut être placé à la racine, et peut donc être utilisé pour réaliser tas PriorityQueue comme PriorityQueue stockage sous-jacent.

 

 

 

Tout d'abord appris: PriorityQueue à l'intérieur java, peut être utilisé directement, import java.util peut être utilisé.

Ensuite, si l'un de la fonction de suppression de la fonction d'ajout sera peek fonctions sont légèrement utilisées.

 

À titre de comparaison PriorityQueue, et apprendre beaucoup:

1. Le nombre indiquant l'ordre de priorité, la valeur par défaut, qui fait l'objet de priorité.

Par exemple: 8 et 15, il sera reconnu 8 que la priorité plus élevée.

 

 

2. Si le comparateur écrit, la définition d'une nouvelle logique de comparaison, observer les points suivants:

(1) par rapport à la connotation écrit, override fonction de comparaison.

(2) Rappelez - vous, le premier paramètre est leur propre, et le second paramètre représente les autres. D' autres possèdent moins de moins 0, alors considéré comme une priorité plus élevée. (Et contrairement compareTo, compareTo, puis, si moins de 0, qui est plus petit)

Constructor (3) dans PriorityQueue le comparateur, la logique configurée pour dire PriorityQueue

 

 

Si une classe personnalisée, il doit dire la logique de comparaison et une comparaison sur le terrain, si vous voulez être petit conformément à la ligne précédente de la logique, il devrait être l'avant - arrière (champs correspondants sont soustraites comparatif)

Si la grande rangée avant, puis l'arrière - avant

 

Pour la fonction statique connotation:

fonction statique ne peut pas accéder à des objets non statiques.

La raison: Chaque fonction non-statique, le passage d'un défaut qui y sont ce domaine.

Parce que les fonctions statiques ne peuvent pas avoir cet objet, donc je ne savais pas ce que l'objet est accessible.

 

 

 

 

Utilisation: pour créer l'objet de classe actuelle, aller appeler un membre non statique.

Par exemple ici est de créer une instance de l'objet avec le Main

Si vous ici: ne créez pas une instance d'un objet principal d'appel directement un membre non-statique, il est faux, comme suit:

 

 Tout d'abord, dans cet objet, aller appeler la fonction appropriée de l'objet.

 

 

 

 

 

 

clé: cette matière dans la fonction interne, pour le complément (8) de cette matière, cela signifie que cet objet x est 8, à savoir: x correspondant au premier objet.

A savoir: l'écriture est de comparer une méthode de comparaison de deux chiffres, mais quand en fait appelé, le premier argument est le suivant, est de se prendre pour comparer et nouvellement ajouté.

Eh bien, et je pense la même chose, à moins de 0 avéré être relativement faible. 

W temps Comparator, si moins que le nombre requis de priorité plus élevé, alors qu'une autre personne utilise votre propre coupe.

Si vous avez besoin d'un grand nombre de priorité élevé, se couper avec les autres.

 

Il présentera comment appeler PriorityQueue, comment écrire votre propre comparateur, comment faire nouvelle classe de comparateurs.

Ensuite, parler de la façon dont ils utilisent le tas pour atteindre PriorityQueue

 

 Ceci est la structure: la mise en œuvre tas est la matrice intérieure, alors si la structure sous-jacente du tas PriorityQueue

Pour la file d'attente, elle est aussi une interface, PriorityQueue est réalisée pour la file d'attente.

 

Si une structure de fichier:

 

 

 

 

définition méthode est la même, mais intégré dans un fichier à l'intérieur de celui-ci de.

 

Pour ce PriorityQueue écrire leurs propres mots, si elle est minHeap, alors la priorité est faible, si elle est maxheap, il est une grande priorité

La raison: avec sa structure de stockage liée, minheap sont de petite taille sur le dessus, maxheap est grand sur elle.

 

Et puis minheap et maxheap, sauf que: différents siftUp, conditions de temps siftDwon, est plus ou moins le temps terminaison siftUp différent.

 

 A savoir: la différence entre minheap et maxheap est ici seulement. Plusieurs problèmes de symbole.

Puis écrire sur leetcode Selon ce sujet, l'autre du poste de blog.

 

Je suppose que tu aimes

Origine www.cnblogs.com/startFrom0/p/12637517.html
conseillé
Classement