Awesome Open Source
Awesome Open Source

# Data Structures and Algorithms with ES6

## Examples in this repo

Num Type Exercises Description
1.- Array 4 The `Array` is the most common data structure in computer programming
2.- Lists 5 A `List` is an ordered sequence of data, where elements are not meant to be ordered.
3.- Stacks 3 A `Stack` is an example of Last-in, First-Out (LIFO)
4.- Queues 2 A `Queue` is an example of First-in, First-Out (FIFO)
5.- Linked List  4 A `Linked list` is a collection of objects called nodes. Each node is linked to a successor node in the list using an object reference.
6.- Double Linked List  3 Traversing a `Double linked list` are more efficient, since we no longer have to search for the previous node.
7.- Circular Linked List  4 The reason you might want to create a `Circular linked list` is if you want the ability to go backward through a list but don’t want the extra overhead of creating a doubly linked list.
8.- Hashing 2 `Hashing` is a common technique for storing data in such a way that the data can be inserted and retrieved very quickly. Hashing uses a data structure called a hash table. Although hash tables provide fast insertion, deletion, and retrieval, they perform poorly for operations that involve searching.
9.- Binary Trees and Binary Search Trees 4 `Binary trees` are chosen over other more primary data structures because you can search a binary tree very quickly (as opposed to a linked list, for example) and you can quickly insert and delete data from a binary tree (as opposed to an array).
10.- Graph Data Structure 2 A graph consists of a set of vertices and a set of edges. A map is a type of graph where each town is a vertex, and a road that connects two towns is an edge. Edges are defined as a pair (v1, v2), where v1 and v2 are two vertices in a graph
11.- Sorting Algorithms 6 Two of the most common operations performed on data stored in a computer are sorting and searching.
12.- Searching Algorithms 6 There are two ways to search for data in a list: sequential search and binary search. A sequential search is used when the items in a list are in random order; a binary search is used when the items in a list are in sorted order.

### To run the examples we need the following:

• NodeJS Installed
• Open Any Terminal and position it to the folder where the files are located
• execute the tests: `\$ npm install` then `node_modules/.bin/qunit -t path/test.js -c path/tests.js`

### References

Some exercises are based from the book Data Structures and Algorithms with JavaScript - by Michael McMillian (O’Reilly) ISBN - 978-1-449-36493-9.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (68,686
es6 (522
algorithm (493
data-structures (375
sorting-algorithms (55
search-algorithm (20