All Projects β†’ keyvanakbary β†’ Eter

keyvanakbary / Eter

Licence: mit
Lightweight collections for JavaScript

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Eter

Containers
This library provides various containers. Each container has utility functions to manipulate the data it holds. This is an abstraction as to not have to manually manage and reallocate memory.
Stars: ✭ 125 (+681.25%)
Mutual labels:  data-structures, collections
Best Of Python
πŸ† A ranked list of awesome Python open-source libraries and tools. Updated weekly.
Stars: ✭ 1,869 (+11581.25%)
Mutual labels:  data-structures, collections
Buckets Js
A complete, fully tested and documented data structure library written in pure JavaScript.
Stars: ✭ 1,128 (+6950%)
Mutual labels:  data-structures, collections
Staticvec
Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.
Stars: ✭ 236 (+1375%)
Mutual labels:  data-structures, collections
Collections C
A library of generic data structures.
Stars: ✭ 2,297 (+14256.25%)
Mutual labels:  data-structures, collections
Eclipse Collections
Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.
Stars: ✭ 1,828 (+11325%)
Mutual labels:  data-structures, collections
Cyclops
An advanced, but easy to use, platform for writing functional applications in Java 8.
Stars: ✭ 1,180 (+7275%)
Mutual labels:  data-structures, collections
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (+906.25%)
Mutual labels:  data-structures, collections
Codejam
Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another
Stars: ✭ 217 (+1256.25%)
Mutual labels:  data-structures, collections
Vue Mc
Models and Collections for Vue
Stars: ✭ 588 (+3575%)
Mutual labels:  data-structures, collections
Ardent
A Collections library for PHP.
Stars: ✭ 632 (+3850%)
Mutual labels:  collections
Meteor Collection Hooks
Meteor Collection Hooks
Stars: ✭ 641 (+3906.25%)
Mutual labels:  collections
Dasel
Query, update and convert data structures from the command line. Comparable to jq/yq but supports JSON, TOML, YAML, XML and CSV with zero runtime dependencies.
Stars: ✭ 759 (+4643.75%)
Mutual labels:  data-structures
Carvel Ytt
YAML templating tool that works on YAML structure instead of text
Stars: ✭ 816 (+5000%)
Mutual labels:  data-structures
Boltons
πŸ”© Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton.
Stars: ✭ 5,671 (+35343.75%)
Mutual labels:  data-structures
Advanced Algorithms
100+ algorithms & data structures generically implemented in C#.
Stars: ✭ 752 (+4600%)
Mutual labels:  data-structures
Get better at cp in 2 months
This contains the curriculum that I will follow to get better at Competitive Programming in 2 months.
Stars: ✭ 627 (+3818.75%)
Mutual labels:  data-structures
Algorithms
Data Structure Libraries and Algorithms implementation
Stars: ✭ 624 (+3800%)
Mutual labels:  data-structures
Rpds
Rust Persistent Data Structures
Stars: ✭ 613 (+3731.25%)
Mutual labels:  data-structures
Hackerrank
HackerRank solutions in Java/JS/Python/C++/C#
Stars: ✭ 829 (+5081.25%)
Mutual labels:  data-structures

Eter

Build Status

Γ‰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();//2
s.pop();//1
s.isEmpty();//true
s.pop();//Error "Empty stack"

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();//1
q.dequeue();//2
q.isEmpty();//true
q.dequeue();//Error "Empty queue"

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);//1
l.remove(0);
l.isEmpty();//true
l.get(0);//Error "Index 0 out of bounds"

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');//true
t.insert('foo');
t.remove('foo');
t.contains('foo');//false

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');//value
m.contains('key');//true
m.remove('key');
m.contains('key');//false

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);//value
t.remove(10);
t.get(10);//null
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].