## Red-Black Trees in Data Structure

Updated on 11-Aug-2020 06:35:48
In this section we will see what is the Red-Black Tree. The Red-Black Trees are self-balancing binary search tree. There are some conditions for each node. These are like below −Each node has color. Which is either Red or BlackThe root will be always blackThere will be no two adjacent Red nodesEvery path from a node (including root) to any of its descendent NULL node has the same number of black nodes.Example of Red-black treeRed-Black tree with Null Nodes at leafComparison with AVL TreeAVL Trees are more balanced than the Red-Black tree. But the major disadvantage is, there will be ... Read More

## R-trees in Data Structure

Updated on 11-Aug-2020 06:28:32
Here we will see the R-Trees data structure. The R-Trees are used to store special data indexes in an efficient manner. This structure is very useful to hold special data queries and storages. This R-trees has some real life applications. These are like below −Indexing multidimensional informationHandling game dataHold geospatial coordinatesImplementation of virtual mapsOne example of R-Tree is like below.Corresponding R-tree is like below −Properties of R-TreesR-Trees are made of with single root, internal and leaf nodesThe root has a pointer to the largest region in the special domainThe parent nodes will hold child nodes where child nodes completely overlap ... Read More

## The B-tree in Data Structure

Updated on 11-Aug-2020 06:26:24
Here we will see what are the B-Trees. The B-Trees are specialized m-way search tree. This can be widely used for disc access. A B-tree of order m, can have maximum m-1 keys and m children. This can store large number of elements in a single node. So the height is relatively small. This is one great advantage of B-Trees.B-Tree has all of the properties of one m-way tree. It has some other properties.Every node in B-Tree will hold maximum m childrenEvery node except root and leaves, can hold at least m/2 childrenThe root nodes must have at least two ... Read More

## Merge Algorithms in Data Structure

Updated on 11-Aug-2020 06:24:45
The Merge algorithm is used to merge two sorted list into one list. This algorithm is used in different cases. If we want to perform merge sort, then we need to merge the sorter lists into larger lists.The approach is simple. We take two lists, there will be two pointers. The first one will point to the element of the fist list, second one will point to the elements of the second list. Based on their values, the smaller element is taken from one of these two lists, then increase the pointer of that corresponding list. This operation will be ... Read More

## Binary Trees as Dictionaries in Data Structure

Updated on 11-Aug-2020 06:21:18
When we try to implement abstract data type Dictionary, then the node associates with values. A dictionary is basically a set of keys, which must be elements drawn from a total ordering. There may be additional information, which are associated with each key, but it does not lead to any conceptual comprehension.If the dictionary is implemented using trees, then each node will hold unique keys. Here for each node u in the tree, every key is u.l is strictly smaller than u.k. And every key in u.r, is strictly larger than u.k. A tree is organized according to this invariant ... Read More

## Robin-Hood Hashing in Data Structure

Updated on 11-Aug-2020 06:20:11
In this section we will see what is Robin-Hood Hashing scheme. This hashing is one of the technique of open addressing. This attempts to equalize the searching time of element by using the fairer collision resolution strategy. While we are trying to insert, if we want to insert element x at position xi, and there is already an element y is placed at yj = xi, then the younger of two elements must move on. So if i ≤ j, then we will try to insert x at position xi+1, xi+2 and so on. Otherwise we will store x at ... Read More

## LCFS Hashing in Data Structure

Updated on 11-Aug-2020 06:18:32
In this section we will see what is LCFS Hashing. This is one of the open-addressing strategy, that changes the collision resolution strategy. If we check the algorithms for the hashing in open address scheme, we can find that if two elements collide, then whose priority is higher, will be inserted into the table, and subsequent element must move on. So we can tell that the hashing in open addressing scheme is FCFS criteria.With the LCFS (Last Come First Serve) scheme. The task is performed exactly in opposite way. When we insert one element, that will be placed at position ... Read More

## Asymmetric Hashing in Data Structure

Updated on 11-Aug-2020 06:18:11
In this section we will see what is Asymmetric Hashing technique. In this technique, the hash table is split into d number of blocks. Each split is of length n/d. The probe value xi, 0 ≤ i ≤ d, is drawn uniformly from $$\lbrace\frac{i*n}{d}, ..., \frac{(i+1)*n}{d-1}\rbrace$$. As with multiple choice hashing, to insert x, the algorithm checks the length of the list A[x0], A[x1], . . ., A[xd – 1]. Then appends x to the shortest of these lists. If there is a tie, then it inserts x to the list with smallest index.According to Vocking, the expected length of ... Read More

## Balanced binary search trees in Data Structure

Updated on 10-Aug-2020 09:38:24
Here we will see what is the balanced binary search tree. The binary search trees (BST) are binary trees, who has lesser element at left child, and greater element at right child.The average time complexity for searching elements in BST is O(log n). It is depending on the height of the binary search tree. To maintain the properties of the binary search tree, sometimes the tree becomes skewed. So the skewed tree will be look like this −This is actually a tree, but this is looking like a linked list. For this kind of trees, the searching time will be ... Read More

## Brent’s Method in Data Structure

Updated on 10-Aug-2020 09:36:38
In this section we will see what is Brent’s Method related to open addressed hashing. This method is a heuristic. This attempts to minimize the average time for a successful search in a hash table.This method was originally applying on double hashing technique, but this can be used on any open addressing techniques like linear and quadratic probing. The age of an element x, is stored in an open addressing hash table, is the minimum value i, such that x is placed at A[xi]Brent’s Method tries to minimize the total age of all elements. If we insert an element x, ... Read More