Found 1862 Articles for Data Structure

Depth First Search (DFS) for a Graph

karthikeya Boyini
Updated on 16-Jun-2020 11:31:14

3K+ Views

The Depth-First Search (DFS) is a graph traversal algorithm. In this algorithm, one starting vertex is given, and when an adjacent vertex is found, it moves to that adjacent vertex first and tries to traverse in the same manner.It moves through the whole depth, as much as it can go, after that it backtracks to reach previous vertices to find the new path.To implement DFS in an iterative way, we need to use the stack data structure. If we want to do it recursively, external stacks are not needed, it can be done internal stacks for the recursion calls.Input and ... Read More

Connectivity in a directed graph

Samual Sam
Updated on 16-Jun-2020 11:35:48

2K+ Views

To check connectivity of a graph, we will try to traverse all nodes using any traversal algorithm. After completing the traversal, if there is any node, which is not visited, then the graph is not connected.For the directed graph, we will start traversing from all nodes to check connectivity. Sometimes one edge can have the only outward edge but no inward edge, so that node will be unvisited from any other starting node.In this case, the traversal algorithm is recursive DFS traversal.Input and OutputInput: Adjacency matrix of a graph    0 1 0 0 0    0 0 1 0 ... Read More

Check if a given graph is tree or not

karthikeya Boyini
Updated on 16-Jun-2020 11:46:28

3K+ Views

In this problem, one undirected graph is given, we have to check the graph is tree or not. We can simply find it by checking the criteria of a tree. A tree will not contain a cycle, so if there is any cycle in the graph, it is not a tree.We can check it using another approach, if the graph is connected and it has V-1 edges, it could be a tree. Here V is the number of vertices in the graph.Input and OutputInput: The adjacency matrix. 0 0 0 0 1 0 0 0 0 1 0 0 0 ... Read More

Bridges in a Graph

Samual Sam
Updated on 16-Jun-2020 10:48:32

1K+ Views

An edge in an undirected graph is said to be a bridge, if and only if by removing it, disconnects the graph, or make different components of the graph. In a practical approach, if some bridges are present in a network when the connection of bridges is broken, it can break the whole network.Input and OutputInput: The adjacency matrix of the graph. 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 Output: Bridges in given graph: Bridge 3--4 Bridge 0--3AlgorithmbridgeFind(start, visited, disc, low, ... Read More

Biconnected Graph

Samual Sam
Updated on 16-Jun-2020 09:20:10

3K+ Views

An undirected graph is said to be a biconnected graph, if there are two vertex-disjoint paths between any two vertices are present. In other words, we can say that there is a cycle between any two vertices.We can say that a graph G is a bi-connected graph if it is connected, and there are no articulation points or cut vertex are present in the graph.To solve this problem, we will use the DFS traversal. Using DFS, we will try to find if there is any articulation point is present or not. We also check whether all vertices are visited by ... Read More

Median of two sorted array

karthikeya Boyini
Updated on 16-Jun-2020 09:23:44

489 Views

Medians are the middle numbers, in other words, the median value is the middle observation in an ordered list. It corresponds to the cumulative percentage of 50%.The size of two arrays must be same, we will find the median of two separate arrays at first, then compare the separate medians to get an actual median of two lists.Input and OutputInput: Two sorted array are given. Array 1: {1, 2, 3, 6, 7} Array 2: {4, 6, 8, 10, 11} Output: The median from two array. Here the median value is 6. Merge the given lists into one. {1, 2, 3, ... Read More

Count Inversions in an array

Samual Sam
Updated on 16-Jun-2020 09:29:16

371 Views

The inversions of an array indicate; how many changes are required to convert the array into its sorted form. When an array is already sorted, it needs 0 inversions, and in another case, the number of inversions will be maximum, if the array is reversed.To solve this problem, we will follow the Merge sort approach to reduce the time complexity, and make it in Divide and Conquer algorithm.Input and OutputInput: A sequence of numbers. (1, 5, 6, 4, 20). Output: The number of inversions required to arrange the numbers into ascending order. Here the number of inversions are 2. First ... Read More

Peak Element in 2D array

karthikeya Boyini
Updated on 16-Jun-2020 09:33:16

865 Views

An item is said to be a peak element when it is greater than or equal with all four neighbor of that element. The neighbor elements are the top, bottom, left and right elements. For this problem, we will consider some bounds. The diagonal elements are not checked as neighbor elements. More than one peak element may present in a matrix, and the peak element is not necessarily the largest element in the matrix.Input and OutputInput: A matrix of different numbers. 10  8  10  10 14 13  12  11 15  9  11  11 15  9  11  21 16 17  19 ... Read More

Closest Pair of Points Problem

Samual Sam
Updated on 16-Jun-2020 09:37:05

10K+ Views

In this problem, a set of n points are given on the 2D plane. In this problem, we have to find the pair of points, whose distance is minimum.To solve this problem, we have to divide points into two halves, after that smallest distance between two points is calculated in a recursive way. Using distances from the middle line, the points are separated into some strips. We will find the smallest distance from the strip array. At first two lists are created with data points, one list will hold points which are sorted on x values, another will hold data ... Read More

Max Number By Swapping

karthikeya Boyini
Updated on 16-Jun-2020 09:39:27

473 Views

In this problem, one positive integer string is given, we have to find the permutation whose value is maximum by swapping digits’ k times, into different places.We will solve this problem by choosing a digit and swap it with digits following it one at a time to find a maximum number. We repeat the process k times. The backtracking strategy is working here because when we find a number which is not greater than the previous value, we backtrack to old value and check again.Input and OutputInput: A number of multiple digits. The input is: 129814999 Output: The maximum value ... Read More

Advertisements