Computer Algorithms: Topological Sort of a Graph
Introduction Let’s assume we have a list of tasks to accomplish. Some of the tasks depend on others, so we must be very careful with the order of their execution. If the relationship between these...
View ArticleComputer Algorithms: Shortest Path in a Graph
Introduction Since with graphs we can represent real-life problems it’s almost clear why we would need an efficient algorithm that calculates the shortest path between two vertices. Getting back to our...
View ArticleComputer Algorithms: Dijkstra Shortest Path in a Graph
Introduction We already know how we can find the shortest paths in a graph starting from a given vertex. Practically we modified breadth-first search in order to calculate the distances from s to all...
View ArticleComputer Algorithms: Bellman-Ford Shortest Path in a Graph
Introduction As we saw in the previous post, the algorithm of Dijkstra is very useful when it comes to find all the shortest paths in a weighted graph. However it has one major problem! Obviously it...
View ArticleComputer Algorithms: Shortest Path in a Directed Acyclic Graph
Introduction We saw how to find the shortest path in a graph with positive edges using the Dijkstra’s algorithm. We also know how to find the shortest paths from a given source node to all other nodes...
View ArticleComputer Algorithms: Minimum Spanning Tree
Introduction Here’s a classical task on graphs. We have a group of cities and we must wire them to provide them all with electricity. Out of all possible connections we can make, which one is using...
View ArticleComputer Algorithms: Kruskal’s Minimum Spanning Tree
Introduction One of the two main algorithms in finding the minimum spanning tree algorithms is the algorithm of Kruskal. Before getting into the details, let’s get back to the principles of the minimum...
View ArticleComputer Algorithms: Prim’s Minimum Spanning Tree
Introduction Along with the Kruskal’s minimum spanning tree algorithm, there’s another general algorithm that solves the problem. The algorithm of Prim. As we already know the algorithm of Kruskal...
View ArticleComputer Algorithms: Longest Increasing Subsequence
Introduction A very common problem in computer programming is finding the longest increasing (decreasing) subsequence in a sequence of numbers (usually integers). Actually this is a typical dynamic...
View ArticleComputer Algorithms: Topological Sort Revisited
Introduction We already know what’s topological sort of a directed acyclic graph. So why do we need a revision of this algorithm? First of all I never mentioned its complexity, thus to understand why...
View Article
More Pages to Explore .....