/berg

A Minimum Heap for Integers

Primary LanguageElixirGNU General Public License v3.0GPL-3.0

The Tatra Range: TripAdvisor

The Tatra Range

Build Status Coverage Status

Berg

Berg is a Minimum Heap for Integers in Elixir. The underlying library is a Two Pass Pairing Heap in Erlang.

What is it?

The interface is akin to a Priority Queue. You might be familiar with the Heap from algorithms such as Heap-Sort, Dijkstra's, or Prim's.

Rationale

This is a program w/ which to learn sequential Erlang + how to build an Elixir library around it. It's a fairly complex Erlang program (involving modules, functions, lists, and tuples) but its domain isn't complicated. The project has OTP Application structure, documentation, Dialyzer declarations, and a test suite (mix test).

A property suite is written in Elixir (mix property).