Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chenglou/data-structures
Fast, light and hassle-free JavaScript data structures, written in CoffeeScript.
https://github.com/chenglou/data-structures
Last synced: 6 days ago
JSON representation
Fast, light and hassle-free JavaScript data structures, written in CoffeeScript.
- Host: GitHub
- URL: https://github.com/chenglou/data-structures
- Owner: chenglou
- License: mit
- Created: 2013-03-02T02:36:32.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2014-03-04T18:11:00.000Z (almost 11 years ago)
- Last Synced: 2024-12-13T15:15:41.640Z (18 days ago)
- Language: JavaScript
- Homepage:
- Size: 2.26 MB
- Stars: 148
- Watchers: 9
- Forks: 28
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Data Structures [![Build Status](https://travis-ci.org/chenglou/data-structures.png?branch=master)](https://travis-ci.org/chenglou/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](http://www.npmjs.org):```bash
npm install data-structures
```
Then where needed:```js
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](http://bower.io):```bash
bower install data-structures
```
Or if you prefer a more traditional approach, [Get the whole file here.](https://github.com/chenglou/data-structures/tree/master/distribution/browser)
Either use the development version or the minified production version.Then put the file in your HTML page,
```html
var Heap = require("data-structures").Heap;
var heap = new Heap();
heap.add(3);
heap.removeMin();```
(Magical client-side `require()`) courtesy of [Browserify](https://github.com/substack/node-browserify).## Documentation
[Wiki page](https://github.com/chenglou/data-structures/wiki)The wiki page is a formatted version of the documentation in the code.
## [Roadmap](https://github.com/chenglou/data-structures/wiki/Roadmap)
## For Contributors
Install the npm development dependencies:```bash
npm install
```Then, with [Grunt](http://gruntjs.com):
```bash
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:
```bash
grunt
```This will take care of compiling CoffeeScript into JavaScript and, if needed, bundle them for the browser.
## License
MIT.