Eter
Éter is a conglomerate of lightweight collections for JavaScript running on node and browser.
Usage
For node, install the package and include it
var eter = require('eter');
For the browser, just include the modules you want. You could use Bower to install the package
bower install eter --save
And include the script
<script src="path/to/eter/dist/eter.js"></script>
Types
If you use TypeScript, typings are included
import {Stack} from 'eter';
let s: Stack<number> = new Stack();
Collections
Stack
A Stack is a Last-In-First-Out (LIFO) data structure.
var s = new eter.Stack();
s.push(1);
s.push(2);
s.pop();
s.pop();
s.isEmpty();
s.pop();
Queue
A Queue is a First-In-First-Out (FIFO) data structure.
var q = new eter.Queue();
q.enqueue(1);
q.enqueue(2);
q.dequeue();
q.dequeue();
q.isEmpty();
q.dequeue();
LinkedList
A Linked List is a data structure consisting of a group of nodes which together represent a sequence.
var l = new eter.LinkedList();
l.add(1);
l.get(0);
l.remove(0);
l.isEmpty();
l.get(0);
Trie
A Trie is an ordered tree data structure that is used to store a dynamic set or associative array where the keys are usually strings.
var t = new eter.Trie();
t.insert('one');
t.insert('oh');
t.insert('on');
t.contains('one');
t.insert('foo');
t.remove('foo');
t.contains('foo');
Hash Map
A Hash Map is a data structure used to implement an associative array, a structure that can map keys to values.
var m = new eter.HashMap();
m.put('key', 'value');
m.get('key');
m.contains('key');
m.remove('key');
m.contains('key');
Binary Tree
A Binary Tree is a data structure used for logarithmic search access.
var t = new eter.BinaryTree();
t.insert(10, 'value');
t.get(10);
t.remove(10);
t.get(10);