Есть ли реализация стандартной структуры данных в стандартной библиотеке Ruby? - PullRequest
25 голосов
/ 17 ноября 2010

Есть ли в стандартной библиотеке Ruby реализация очереди с приоритетами?

Ответы [ 5 ]

12 голосов
/ 17 ноября 2010
6 голосов
/ 06 мая 2012

Существует также https://rubygems.org/gems/PriorityQueue,, который все еще работает 1,9, даже если он не изменился с 2005 года.

Он хорошо работает из того, что я пробовал, есть эталонный тест, и он хорошо документирован,Я мог бы не сказать, что для алгоритмов PriorityQueue и Heap (которые, кажется, не позволяют легко изменить ключ для данного значения).

4 голосов
/ 07 марта 2014

Только что опубликовано расширение ruby ​​(в C ++), реализующее приоритетные очереди, оно на порядок быстрее, чем реализации на основе ruby. Смотри https://rubygems.org/gems/priority_queue_cxx.

1 голос
/ 25 марта 2014

В RubyGems есть реализация skewheap , если вам интересно.

0 голосов
/ 01 сентября 2014

Существует давний rubygem rbtree , который обеспечивает этот тип функциональности. Это реализация Красно-черного дерева .

Кроме того, существует чистая реализация ruby ​​ rbtree-pure .

...