Data Structures and Algorithms with ES6
Examples in this repo
Array is the most common data structure in computer programming
List is an ordered sequence of data, where elements are not meant to be ordered.
Stack is an example of Last-in, First-Out (LIFO)
Queue is an example of First-in, First-Out (FIFO)
Linked list is a collection of objects called nodes. Each node is linked to a successor node in the list using an object reference.
Double Linked List
Double linked list are more efficient, since we no longer have to search for the previous node.
Circular Linked List
||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.
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.
||Binary Trees and Binary Search Trees
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).
||Graph Data Structure
||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
||Two of the most common operations performed on data stored in a computer are sorting and searching.
||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