Skip to content

crizstian/data-structure-and-algorithms-with-ES6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

73c64c9 · Jun 22, 2018

History

54 Commits
Jun 19, 2018
Mar 30, 2017
Dec 19, 2016
Apr 21, 2017
Dec 22, 2016
Dec 19, 2016
Apr 21, 2017
Dec 17, 2016
Nov 28, 2016
Nov 10, 2016
Dec 12, 2017
Jan 6, 2017
Dec 17, 2016
Dec 27, 2016

Repository files navigation

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.