/ / Jak korzystać z IPriorityQueue w bibliotece C5 - c #, heap, priority-queue, binary-heap, c5

Jak korzystać z IPriorityQueue w bibliotece C5 - c #, heap, priority-queue, binary-heap, c5

Używam popularnej biblioteki C5 dla C # (C5) i próbuję dowiedzieć się, jak wdrożyć IPriorityQueue prawidłowo. Powiedzmy, że mam zestaw A={5,4,1,2,3}. Chcę, aby priorytet był najwyższą wartością całkowitą. Jak mogę to wdrożyć?

Czy ktoś mógłby podać przykład, gdzie dodaję elementy w zestawie A jeden po drugim do kolejki? Gdzie możesz określić priorytet? Kinda stracił na implementacji.

Ostatecznym celem przy okazji jest użycie tego, aby utworzyć binarną kupę.

Odpowiedzi:

0 dla odpowiedzi № 1

Nie jestem zaznajomiony z tą biblioteką C5, ale tutaj jest łatwa w użyciu implementacja kolejki priorytetowej o wysokiej wydajności:

Źródło PriorityQueue

Źródło ConcurrentPriorityQueue (jeśli potrzebujesz bezpieczeństwa wątku)

Używając jednego z nich, skonstruowałbyś to w ten sposób:

IPriorityQueue<object> queue = new PriorityQueue<object>(5, true);

gdzie 5 to liczba priorytetów, które chceszzarządzaj, prawda / fałsz określa, czy chcesz, aby priorytety były uważane za malejące lub rosnące w priorytecie, a <obiekt> byłby twoim typem ogólnym. Oba obsługują również operacje na pełnym liście. Istnieje również strona internetowa projektu.