polygonal.ds

data structures for games

..
tools
Array2

A two-dimensional array based on a rectangular sequential array

Array2Cell

Stores the (x,y) position of a two-dimensional cell

Array3

A three-dimensional array based on a rectangular sequential array

Array3Cell

Stores the (x,y,z) position of a three-dimensional cell

ArrayList

A growable, dense array.

ArrayedDeque

A deque is a "double-ended queue"

ArrayedQueue

An arrayed queue based on an arrayed circular queue

ArrayedStack

A dynamic arrayed stack

BinaryTreeNode

A binary tree

BitVector

An array data structure that compactly stores individual bits (boolean values)

Bst

A binary search tree (BST)

Cloneable

An object that can be cloned by calling object.clone()

Collection

A collection is an object that stores other objects (its elements)

Comparable

Specifies that the order of an element in a collection can be determined by calling object.compare(otherObject)

Deque

A double-ended queue that supports fast element insertion and removal at both ends

Dll

A doubly linked list

DllNode

A doubly linked list node

Graph

A weighted graph

GraphArc

A graph arc represents an uni-directional link between two GraphNode objects

GraphNode

A graph node manages a doubly linked list of GraphArc objects

HashKey

Generates unique, unsigned integer keys

HashSet

An array hash set for storing Hashable objects

HashTable

An array hash table for mapping Hashable keys to generic elements

Hashable

An object that can be identified by an unique integer key

HashableItem

An abstract object that provides an unique integer key

Heap

A heap is a special kind of binary tree in which every node is greater than all of its children

Heapable

An object that can be inserted into a Heap

IntHashSet

An array hash set for storing integers

IntHashTable

An array hash table for mapping integer keys to generic elements

IntIntHashTable

An array hash table for storing integer key/value pairs

Itr

An iterator over a collection

LinkedDeque

A deque is a "double-ended queue"

LinkedQueue

A queue based on a linked list

LinkedStack

A stack based on a linked list

List

An ordered list of elements

ListSet

A simple set using an array

Map

An object that maps keys to values

NativeArray

Fixed size "native" array that can be faster on some targets.

Printf

C printf implementation

PrintfError

Prioritizable

A prioritized object that can be inserted into a PriorityQueue

PriorityQueue

A priority queue is heap but with a simplified API for managing prioritized data

Queue

A queue is a First-In-First-Out (FIFO) data structure

Set

A collection that contains no duplicate elements

Sll

A singly linked list

SllNode

A singly linked list node

Stack

A stack is a Last-In-First-Out (LIFO) data structure

TreeBuilder

A helper class for building tree structures

TreeNode

A tree structure

Visitable

An object that can be visited in a traversal by calling object.visit()