• Stars
    star
    1,011
  • Rank 43,862 (Top 0.9 %)
  • Language
    JavaScript
  • Created over 7 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Data Structures and Algorithms using ES6

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.