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();
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.
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.
The wiki page is a formatted version of the documentation in the code.
Install the npm development dependencies:
npm install
Tests are done using jasmine-node.
Testing individual file, e.g.:
jasmine-node --coffee tests/LinkedList.spec.coffee
Lazy method:
npm 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:
You'll need the grunt-cli tool:
npm install -g grunt-cli
Then run:
grunt
This will take care of compiling CoffeeScript into JavaScript and, if needed, bundle them for the browser.
MIT.