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
-
Economics & Finance
Articles by Arnab Chakraborty
Page 363 of 377
Double 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 MoreAmortized Cost of Meld Operation
Calculating the amortized cost of meld operation is a difficult task. The major difficulty is in accumulating for the wide variations in the costs of an operation performed at different points in a random sequence of operations. Although our design goal is affected by the costs of sequence of operations, defining the notion of amortized cost of an operation in terms of the costs of sequences of operations leads nothing. Implementing a potential function to off set the variations in the actual costs is a perfect way of handling the situation.In the next topic we discuss the notion of amortized ...
Read MorePairing Heaps
A pairing heap is defined as a type of heap data structure with relatively easy implementation and superb practical amortized performance.Pairing heaps are heap-ordered multiway tree structures, and can be denoted as simplified Fibonacci heaps.They are considered a "robust choice" for implementing such Algorithms like Prim's MST Algorithm, and support the following operations (assuming a min-heap) −find-min − This function is responsible to return the top element of the heap.meld −This function is responsible to compare the two root elements, the smaller remains the root of the result, the larger element and its subtree is added as a child of ...
Read MoreConnectivity, Distance, and Spanning Trees
Spanning TreeOne simple definition is that a tree is a connected graph associated with no cycles, where a cycle let's us go from a node to itself without repeating an edge.A spanning tree for a connected graph G is defined as a tree containing all the vertices of G.Spanning trees are often implemented for Internet routing Algorithms. In the Internet, computers (nodes) are often connected with many redundant physical connections.Total number of Spanning Trees in a Graph. If a graph is a complete graph with n no. of vertices, then total number of spanning trees is n(n-2)where n is denoted ...
Read Morem-ary tree
An m-ary tree in computer science is defined as a collection of nodes normally represented hierarchically in the following manner.The tree is started at the root node.Each node of the tree maintains a list of pointers to its child nodes.The number of child nodes is less than or equal to m.A typical representation of m-ary tree implements an array of m references (or pointers) to store children (Note that m is an upper bound on number of children).An m-way search treea. is empty orb. consists of a root containing b (1
Read MorePotential Method
According to computational complexity theory, the potential method is defined as a method implemented to analyze the amortized time and space complexity of a data structure, a measure of its performance over sequences of operations that eliminates the cost of infrequent but expensive operations.In the potential method, a function Φ is selected that converts states of the data structure to non-negative numbers. If S is treated as state of the data structure, Φ(S) denotes work that has been accounted in the amortized analysis but not yet performed. Thus, Φ(S) may be imagined as calculating the amount of potential energy stored ...
Read MoreMeldable Priority Queue Operations
The randomized meldable heap(also called as Meldable Priority Queue) supports a number of common operations. These are known as insertion, deletion, and a searching operation, findMin. The insertion and deletion operations are implemented in terms of an additional operation specific to the meldable heap, Meld(A1, A2).MeldThe basic target of the meld (also called as merge) operation is to take two heaps (by taking each heaps root nodes), A1 and A2, and merges them, returning a single heap node as a result. This heap node is the root node of a heap containing all elements from the two subtrees rooted at ...
Read MoreTolerance Stack up
What is Assembly Tolerance Stack up Analysis?In short, assembly tolerance stacks up analysis is defined as the tolerance value of the whole assembly or a specific gap of the assembly when we are aware about the tolerance values of all its components.Assembly tolerance chain stack up analysis can be accomplished in different ways. The simplest procedure is termed as the worst case method, which we discuss here.Discussion about Worst Case Method of Assembly Tolerance Stack UpLet, we have an assembly of four thick sheets like below −The thickness and tolerance of the four sheets are displayed in the above figure. ...
Read More