Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Articles by Arnab Chakraborty
Page 317 of 377
Deaps in Data Structure
Deap is defined as a data structure which has no element or key value at the root node. It is formed by implementing the following rules −There is no element at root node that indicates root node is empty.Left subtree of the deap shall indicate min heap.Right subtree of deap shall indicate max heap.Thus, correctness to the following statement can be provided mathematically by a deap structure −If the left sub tree and right sub tree of certain nodes are non-empty, and their corresponding nodes can be represented by ‘a’ and ‘b’ respectively, then −a.KeyValue
Read MoreMin-Max Heaps
A min-max heap is defined as a complete binary tree containing alternating min (or even) and max (or odd) levels. Even levels are denoted as for example 0, 2, 4, etc, and odd levels are denoted as 1, 3, 5, etc.We consider in the next points that the root element is at the first level, i.e., 0.Example of Min-max heapFeatures of Min-max heapEach node in a min-max heap is associated with a data member (usually called key) whose value is implemented to calculate the order of the node in the min-max heap.The root element is the minimum element in the ...
Read MoreComplexity of Interval Heap Operations
A double-ended priority queue(DEPQ) or interval heap features the following operations −isEmpty()This function performs to check if DEPQ is empty and returns true if empty.size()This function performs to return the total number of elements present in the DEPQ.getMin()This function performs to return the element having lowest priority.getMax()This function performs to return the element having maximum priority.put(z)This function performs to insert the element z in the DEPQ.removeMin()This function performs to remove an element with smallest priority and returns this element.removeMax()This function performs to remove an element with highest priority and returns this element.The operations isEmpty(), size(), getMin(), and getMax() consume O(1) ...
Read MoreInitializing an Interval Heap
An interval heap is same as an embedded min-max heap in which each node contains two elements. It is defined as a complete binary tree in whichThe left element is smaller than or equal to the right element.Both the elements define a interval which is closed.Interval represented by any node other than the root is a sub-interval of the parent node.Elements on the left hand side represent a min heap.Elements on the right hand side represent a max heap.Depending on the number of elements, two cases are permitted -Even number of elements: In this case, each node contains two elements ...
Read MoreLeft-Child Right-Sibling Representation of Tree
Left-Child Right-Sibling Representation is a different representation of an n-ary tree where instead of maintaining a pointer to each and every child node, a node holds just two pointers, first a pointer to its first child, and the other pointer to its immediate next sibling. This new transformation not only eliminates the need of prior knowledge of the number of children a node has, but also restricts the number of pointers to a maximum of two, so making it so much simpler to code.At each node, link or connect children of same parent from left to right.Parent should be linked ...
Read MoreRemoving the Min Element from Interval Heaps
In an interval heap, the smallest element is the element on the left hand side of the root node. This element is eliminated and returned.For filling the vacancy created on the left hand side of the root node, an element from the last node is eliminated and again inserted into the root node.This element is next compared successively with all the left hand elements of the descending nodes and the process terminates when all the conditions for an interval heap are met.In case if the left hand side element in the node becomes higher than the right side element at ...
Read MoreInserting an Element in Interval Heaps
Depending on the number of elements which are present in the interval heap, following cases are possible -Odd number of elements: If the number of elements in the interval heap be odd, the new element is inserted in the last node at first. Then, it is compared with the previous node elements successively and tested to meet the criteria essential for an interval heap. In case if the element does not meet any of the criteria, it is transferred from the last node to the root until all the conditions are met.Even number of elements: If the number of elements ...
Read MoreDouble Ended Priority Queue (DEPQ)
A double-ended priority queue (DEPQ) or double-ended heap is defined as a data structure like a priority queue or heap, but permits for efficient removal of both the maximum and minimum, according to some ordering on the keys or items stored in the structure. Every element in a DEPQ associated with a priority or value. In a DEPQ, it is possible to eliminate or remove the elements in both ascending and descending order.OperationsA double-ended priority queue consists of the following operationsisEmpty()This function is responsible to check if DEPQ is empty and returns true if empty.size()This function is responsible to return the total ...
Read MoreSoft Heaps
A soft heap is defined as a variation on the simple heap data structure that consists of constant amortized time for 5 types of operations. This is obtained by carefully "corrupting" (increasing) the keys of maximum a certain number of values in the heap. The constant time operations are −create(s) − Create a new soft heap sinsert(s, y) − Insert an element y into a soft heap smeld(s, s' )of two soft heaps s and s′ into one, destroying bothdelete(s, y) − Delete an element y from a soft heap sfindmin(s) − Get the element with least key in the soft ...
Read MoreAdaptive Properties of Pairing Heaps
Pairing heaps are implemented for a perfect use of a priority queue. A priority queue maintains track of the minimum of a set of objects, so every time we take something eliminate from the queue it is always the minimum value. Priority queues are mostly implemented when using Dijkstra’s Algorithm to calculate the shortest path in a graph.Pairing heaps are perfect because they are easy to use and operate well in real applications. Specifically, they operate excellent in amortized time . Meaning that while an individual operation consumes a longer time, the sum of all the operations over the whole ...
Read More