## 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

## Double Hashing in Data Structure Updated on 10-Aug-2020 09:34:18
In this section we will see what is Double Hashing technique in open addressing scheme. There is an ordinary hash function h´(x) : U → {0, 1, . . ., m – 1}. In open addressing scheme, the actual hash function h(x) is taking the ordinary hash function h’(x) when the space is not empty, then perform another hash function to get some space to insert.$$h_{1}(x)=x\:mod\:m$$$$h_{2}(x)=x\:mod\:m^{\prime}$$$$h(x, i)=(h^{1}(x)+ih^{2})\:mod\:m$$The value of i = 0, 1, . . ., m – 1. So we start from i = 0, and increase this until we get one free space. So initially when i = ... Read More

## Quadratic Probing in Data Structure Updated on 10-Aug-2020 09:32:46
In this section we will see what is quadratic probing technique in open addressing scheme. There is an ordinary hash function h’(x) : U → {0, 1, . . ., m – 1}. In open addressing scheme, the actual hash function h(x) is taking the ordinary hash function h’(x) and attach some another part with it to make one quadratic equation.h´ = (𝑥) = 𝑥 𝑚𝑜𝑑 𝑚ℎ(𝑥, 𝑖) = (ℎ´(𝑥) + 𝑖2)𝑚𝑜𝑑 𝑚We can put some other quadratic equations also using some constantsThe value of i = 0, 1, . . ., m – 1. So we start from i ... Read More

## Linear Probing in Data Structure Updated on 10-Aug-2020 09:30:50
In this section we will see what is linear probing technique in open addressing scheme. There is an ordinary hash function h´(x) : U → {0, 1, . . ., m – 1}. In open addressing scheme, the actual hash function h(x) is taking the ordinary hash function h’(x) and attach some another part with it to make one linear equation.h´(𝑥) = 𝑥 𝑚𝑜𝑑 𝑚ℎ(𝑥, 𝑖) = (ℎ´(𝑥) + 𝑖)𝑚𝑜𝑑 𝑚The value of i| = 0, 1, . . ., m – 1. So we start from i = 0, and increase this until we get one freespace. So initially ... Read More

## Hashing with Open Addressing in Data Structure Updated on 10-Aug-2020 09:28:41
In this section we will see what is the hashing by open addressing. The open addressing is another technique for collision resolution. Unlike chaining, it does not insert elements to some other data-structures. It inserts the data into the hash table itself. The size of the hash table should be larger than the number of keys.There are three different popular methods for open addressing techniques. These methods are −Linear ProbingQuadratic ProbingDouble HashingIn this technique, we use a hash function like other hash techniques. If the place is free, then insert the element into that location. Now if that place is ... Read More

## Hashing with Chaining in Data Structure Updated on 10-Aug-2020 09:27:25
In this section we will see what is the hashing with chaining. The Chaining is one collision resolution technique. We cannot avoid collision, but we can try to reduce the collision, and try to store multiple elements for same hash value.this technique suppose our hash function h(x) ranging from 0 to 6. So for more than 7 elements, there must be some elements, that will be places inside the same room. For that we will create a list to store them accordingly. In each time we will add at the beginning of the list to perform insertion in O(1) timeLet ... Read More

## Universal Hashing in Data Structure Updated on 10-Aug-2020 09:26:23
For any hash function we can say that if the table size m is much smaller than universe size u, then for any hash function h, there is some large subset of U that has the same hash value.To get rid of this problem, we need a set of hash functions, from which we can choose any one that works well for S. If most of the hash functions are better for S, we can choose random hash functionSuppose ℌ be a set of hash functions. We can say ℌ is universal if, for each x, y ∈ U, the ... Read More

## Hashing by Multiplication in Data Structure Updated on 10-Aug-2020 09:24:06
Here we will discuss about the hashing with multiplication method. For this we use the hash function −ℎ(𝑥) = ⌊𝑚𝑥𝐴⌋ 𝑚𝑜𝑑 𝑚Here A is a real-valued constant. The advantage of this method is that the value of m is not so critical. We can take m as power of 2 also. Although any value of A gives the hash function, but some values of A are better than others.According to Knuth, we can use the golden ratio for A, So A will be$$A=\frac{\sqrt5-1}{2}=0.61803398$$Of course, no matter what value is chosen for A. The pigeonhole principle implies that if u ≥ ... Read More

## Hashing by Division in Data Structure Updated on 10-Aug-2020 09:22:45
Here we will discuss about the hashing with division. For this we use the hash function −ℎ(𝑥) = 𝑥 𝑚𝑜𝑑 𝑚To use this hash function we maintain an array A[0, … m – 1]. Where each element of the array is a pointer to the head of the linked list. The linked list Li is pointed to array element A[i] holds all elements x such that h(x) = i. This technique is known as hashing by chaining.In such hash table, if we want to increase an element x, this will take O(1) time. we compute the index i = h(x). ... Read More
Previous 1 ... 4 5 6 7 8 ... 22 Next