BSD Ports

devel/ruby-pairing_heap 3.1.1 NetBSD

Performant priority queue in pure ruby

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
License
mit
Categories
devel, ruby
Package size
32.0 KiB, 93.4 KiB installed

Description

PairingHeap

PairingHeap is a pure Ruby priority queue implementation using a pairing heap as the underlying data structure. While a pairing heap is asymptotically less efficient than the Fibonacci heap, it is usually faster in practice. This makes it a popular choice for Prim's MST or Dijkstra's algorithm implementations.

PairingHeap is currently being used as the priority queue data structure in RGL (https://github.com/monora/rgl/).

Also implementation without priority change support is provided (SimplePairingHeap), while the asymptotical complexity of the methods stay the same, bookkeeping of elements is not needed making, the constant smaller.

Install

Binary package:

pkgin install ruby33-pairing_heap

From pkgsrc:

cd /usr/pkgsrc/devel/ruby-pairing_heap && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_643.1.1
NetBSD 10.1 aarch643.1.1
SmartOS / illumos x86_643.1.1
macOS 15 arm643.1.1

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

Run dependencies 1
Required by 1

Configuration

No options to configure.

Service scripts
none
Flavors
ruby34-pairing_heap-3.1.1, ruby40-pairing_heap-3.1.1