JavaScript data structures written in CoffeeScript.

Data Structures

Fast, light and hassle-free JavaScript data structures, written in CoffeeScript.

  • (Hash) Map
  • Heap
  • Graph
  • (Doubly) Linked List
  • Queue
  • Self-Balancing Binary Search Tree (Red-Black Tree)
  • Trie

Using npm:

npm install data-structures

Then where needed:

var Heap = require('data-structures').Heap;
var heap = new Heap();

Alternatively, you can directly use the compiled JavaScript version in the "distribution" folder. It's always in sync with the CoffeeScript one.

Using Bower:

bower install data-structures

Or if you prefer a more traditional approach, Get the whole file here. Either use the development version or the minified production version.

Then put the file in your HTML page,

<script src="path/to/dataStructure/file"></script>
    var Heap = require("data-structures").Heap;
    var heap = new Heap();

(Magical client-side require()) courtesy of Browserify.

Wiki page

The wiki page is a formatted version of the documentation in the code.


Install the npm development dependencies:

npm install

Then, with Grunt:

grunt test

Note that if it's a pull request you'd like to submit, ignore this section. The code will be rebuilt after the pull anyways.

Feel free to modify the source code and rebuild it for your own needs:


This will take care of compiling CoffeeScript into JavaScript and, if needed, bundle them for the browser.