You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-10
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,8 @@ These are the most famous data structures used in lot of applications to help so
15
15
16
16
-[**Linked List:**](./data-structures/lists/LinkedList.js) A linked list is a recursive data structure that is either empty or a reference to a node having a generic item and a reference to a linked list (a node is any kind of data that refers another node recursively).
17
17
18
+
-[**Binary Heap:**](./data-structures/binary-tree/BinaryHeap.js) A binary heap is a heap constructed with help of a binary tree structure, which can maintain all the values sorted during its insert and remove actions.
19
+
18
20
## Sorting
19
21
20
22
Below you can see some of the famous methods of sorting values.
@@ -53,24 +55,30 @@ With help of binary tree heap data structure used to build the heap priority que
53
55
54
56
-[**Heapsort:**](./algorithms/sorting/heap/HeapSort.js) The heapsort consists into two actions: first we reorganize the initial array into a heap and after we sortdown, that is when we pull the items out of the heap in decreasing order to build the sorted result.
55
57
56
-
## TODO
58
+
## Searching
57
59
58
-
### 1. Finishing the following topics
60
+
Below you can see some of the structures focused on searching. Usually these structures have the pattern or associating a value with a key. That key is used later to get the item you have inserted (what means that we must make sure that the key we create is unique).
59
61
60
-
Data Structures -> Binary Tree
62
+
-[**Sequential Search:**](./algorithms/searching/symbol-table/SequentialSearch.js) It is a kind of Symbol Table, which we use a linked list structure to keep all items ordered and so to sequentially search them.
61
63
62
-
Analysis of Algorithms
64
+
-[**Binary Search:**](./algorithms/searching/symbol-table/BinarySearch.js) It is a kind of Symbol Table, that during searches, we divide the keys in two parts and so, we determine if we will search on the right part or the left one, instead of searching sequentially all the array keys.
65
+
66
+
-[**Binary Search Tree:**](./algorithms/searching/symbol-table/BinarySearchTree.js) It is a symbol table that uses the binary tree data structure to handle all searching process. So, each node in the tree has a key that is larger than the keys in all node's left subtree and smaller than the keys in all nodes in that node's right subtree.
67
+
68
+
-[**Red Black Binary Search Tree:**](./algorithms/searching/balanced-search-tree/RedBlackBinarySearchTree.js) It is a binary search tree (actually the one with 2-3 nodes) with an optimization that helps keeping the path to a value almost the same for all entries. So, we can call it to be a balanced search tree method, since it is able to search values with same distance between the root of the tree to any value you want.
63
69
64
-
Sorting -> Heapsort -> Sortdown
70
+
-[**Separate Chaining Hash:**](./algorithms/searching/hash-table/SeparateChainingHash.js) It is a hash table that converts the key into indexes to store the data inside an array of sequential searches.
65
71
66
-
Sorting -> Applications -> Pointer sorting
72
+
-[**Linear Probing Hash:**](./algorithms/searching/hash-table/LinearProbingHash.js) It is a hash table which we store keys and values in separated arrays in order to get an easy search match later.
0 commit comments