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
Installation and Usage
Server-side:
Using npm:
npm install data-structures
Then where needed:
var Heap = require('data-structures').Heap;
var heap = new Heap();
heap.add(3);
heap.removeMin();
Alternatively, you can directly use the compiled JavaScript version in the "distribution" folder. It's always in sync with the CoffeeScript one.
Client-side:
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>
<script>
var Heap = require("data-structures").Heap;
var heap = new Heap();
heap.add(3);
heap.removeMin();
</script>
(Magical client-side require()
) courtesy of Browserify.
Documentation
Wiki page
The wiki page is a formatted version of the documentation in the code.
For Contributors
Install the npm development dependencies:
npm install
Then, with Grunt:
grunt test
Build JavaScript for server-side and browser
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:
grunt
This will take care of compiling CoffeeScript into JavaScript and, if needed, bundle them for the browser.
License
MIT.