The datastructures package aims at providing standard datastructures, consolidating existing code and improving on it, in particular in view of HPC-GAP.
The datastructures package consists of two parts: Interface declarations and implementations.
This is a BETA release of this package. Interfaces and behaviour might change between beta releases and break your code. If you are relying on any feature and would like it to be retained, please contact us via https://github.com/gap-packages/datastructures/issues
or our slack channel #datastructures on https://gap-system.slack.com.
The goal of interface declarations is to define standard interfaces for datastructures and decouple them from the implementations. This enables easy exchangability of implementations, for example for more efficient implementations, or implementations more suited for parallelisation or sequential use.
The datastructures package declares interfaces for the following datastructures
- queues
- doubly linked lists
- heaps
- priority queues
- hashtables
- dictionaries
List queues based on Reimer Behrends' implementation in HPC-GAP
Full information and documentation can be found in the manual, available
as PDF doc/manual.pdf
or as HTML doc/chap0_mj.html
, or on the package
homepage at
https://gap-packages.github.io/datastructures/
Please submit bug reports and feature requests via our GitHub issue tracker: https://github.com/gap-packages/datastructures/issues
datastructures is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
For details see the files COPYRIGHT.md and LICENSE.