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
Analysis of Algorithms Articles
Page 2 of 17
Difference Between Full Virtualization and Paravirtualization
In this post, we will understand the differences between full virtualization and paravirtualizationFull VirtualizationThis process was introduced by IBM in the year 1966. It is considered to be the first software solution for server virtualization. It uses binary translation and a direct approach method.In this, the guest OS is fully isolated using the virtual machine from the virtualization layer and hardware.Examples of full virtualization include Microsoft and Parallels systems.The virtual machine permits the execution of the instructions in addition to running the unmodified OS in a completely isolated method.It is considered to be less secure in comparison to paravirtualization.It uses ...
Read MoreDifference Between Flood-fill and Boundary-fill Algorithm
In this post, we will understand the differences between flood fill algorithm and boundary fill algorithm. They are area-filling algorithms, and they can be differentiated based on whether a random pixel has the region's original colour or not.Flood-fill algorithmIt is also known as seed fill algorithm.It calculates the area that is connected to a given node with respect to a multi-dimensional array.It works by filling up or recolouring a specific area that contains different colours in the inside part, and hence, the boundary of the image.It is represented by a picture that has a neighbourhood which has borders and has ...
Read MoreDifference Between Greedy Method and Dynamic Programming
In this post, we will understand the differences between the greedy algorithm and dynamic programming methods.Greedy algorithmIt is an algorithmic paradigm that builds up on a solution in parts, step by step. The next step is chosen such that it gives the most obvious and immediate benefit.Problems that involve choosing local optimal values will help in choosing the global optimal values/solution to the problem. Such ate the problems associated with greedy algorithm.There is no surety that a greedy algorithm would lead to an optimal solution.An optimal choice is made at every stage of the problem, i.e the local optimal solution.It ...
Read MoreDifference Between Prim’s and Kruskal’s Algorithm
In this post, we will understand the differences between Prim's and Kruskal's algorithms.Kruskal's algorithm for Mininum Spanning Tree (MST)When a connected and undirected graph is given, a spanning tree of such a graph is the subgraph which is a tree that connects all of the vertices.A single graph can have multiple spanning trees.A minimum spanning tree (MST) (also known as minimum weight spanning tree) for a weighted, connected and undirected graph is a spanning tree that weighs less than or equal to the weight of every other spanning tree.The weight of a spanning tree is determined by adding the weights ...
Read MoreAlgorithm to construct an Expression Tree in Data Structure
Expression treesExpression trees are those in which the leaf nodes have the values to be operated, and internal nodes contain the operator on which the leaf node will be performed.Example4 + ((7 + 9) * 2) will have an expression tree as followsAlgorithm to Construct an Expression TreeLet T be the expression tree.If T is not NULL: If T->data is an operand: return T.data A = solve(T.left) B = solve(T.right) --> Calculate operator for 'T.data' on A and B, and call recursively, return calculate(A, B, T.data)How to construct an expression tree?To construct an Expression Tree for ...
Read MoreYen's k-Shortest Path Algorithm in Data Structure
Instead of giving a single shortest path, Yen’s k-shortest path algorithm gives k shortest paths so that we can get the second shortest path and the third shortest path and so on.Let us consider a scenario that we have to travel from place A to place B and there are multiple routes available between place A and place B, but we have to find the shortest path and neglect all the paths that are less considered in terms of its time complexity in order to reach the destination.Let us understand with an example-Consider the given example as the bridge which ...
Read MoreFloyd Cycle Detection Algorithm to detect the cycle in a linear Data Structure
Floyd Cycle is one of the cycle detection algorithms to detect the cycle in a given singly linked list.In the Floyd Cycle algorithm, we have two pointers that initially point at the head. In Hare and Tortoise’s story, Hare moves twice as fast as Tortoise, and whenever the hare reaches the end of the path, the tortoise reaches the middle of the path.AlgorithmInitialize Hare and Tortoise at the head node of the List.Initially, the hare moves twice as fast as the tortoise.Move the hare and tortoise both and find if the hare reaches the end of the Linked List, return ...
Read MoreAuto-complete feature using Trie
We have a Trie, and when a user enters a character, we have to show the matching string the Trie. This feature we call it as auto-completion. For example, if a Trie contains "xyzzzz, ""xyz, " "xxxyyxzzz" and when the user enter xy, then we have to show them xyzzzz, xyz, etc.., Steps to achieve the result.Search for the string using the standard Trie algorithm.If the string is not present, then return -1.If the string is present and is the end of a word in Trie, then print the string.If the matching string doesn't have any node, then return.Else print ...
Read MoreSegment Trees in Data Structure
In this section we will see what is the segment tree. Before discussing that, let us see one problem.Suppose we have an array arr[0, …, n-1], We can do following operations −Find the sum of elements from index l to r, where 0 ≤ l ≤ r ≤ n-1Change the value of a specified element of the array to a new value x. We need to do arr[i] = x. The i in range 0 to n – 1.We can solve this problem by using the Segment tree. The segment tree can help us to get the sum and query ...
Read MoreInterval Trees in Data Structure
In this section we will see what is the interval tree. As the name suggests, that the interval trees are the trees which are associated with the intervals. So before discussing about the interval trees, let us see the elementary intervals.An interval is basically a range. So if one interval is written as [a, b] it indicates that the range is starting from a, and ending at b.Now suppose there is an interval [10, 20]. So there are three range values. First one is -∞ to 10, 10 to 20 and finally 20 to ∞Now, suppose we will create second ...
Read More