A simple C++ implementation of Kruskal’s algorithm for finding minimal spanning trees in networks. Though I have a previous posting that accomplishes exactly the same thing, I thought that a simple implementation would be useful, one using a straightforward Graph data structure for modelling network links and nodes, does not have a graphical user interface and does not use the Boost Graph Library, which can be complicated to use and not to everyone’s preference.
Continue reading
Category Archives: Graph Algorithms
Modeling networks as graphs in C++
After playing around with some graph algorithm code as implemented by Sedgewick and others, I have come to the conclusion that while these are efficient and concise, improvements could be made to their usability.
Continue reading
The K-Shortest Paths Algorithm in C++
Introduction
Following on from a previous post which was concerned with finding all possible combinations of paths between communicating end nodes, this algorithm finds the top k number of paths: first the shortest path, followed by the second shortest path, the third shortest path, and so on, up to the k-th shortest path.
Continue reading
DFS Algorithm Download for Visual Studio 2003
Download the Visual Studio 2003 project and code. Upon payment you should be promptly directed to a download link. Please contact me if you experience any problems and I will get it sent to you as soon as possible.
Implementing Dijkstra’s Algorithm using Sedgewick’s C++ Code
Introduction
Dijkstra’s algorithm solves the shortest path problem for a graph with nonnegative edge weights, producing a shortest path tree. This algorithm is often used in routing and as a subroutine in other graph algorithms, the k-shortest paths algorithm, for example.
Continue reading
A Recursive Algorithm to Find all Paths Between Two Given Nodes
Problem Outline
This I tackled previously when working on the design and implementation of routing optimization algorithms for telecommunications networks. Given that a wide area network with nodes and interconnecting links can be modelled as a graph with vertices and edges, the problem is to find all path combinations Continue reading
Implementing Kruskal’s Algorithm in C#
This post is essentially a blatant lifting of Omar Gamil’s CodeProject article on the same subject. I have been using the project as means of getting into C# programming and using things like Windows Forms etc in Visual Studio environments for the first time. Continue reading
Finding Minimal Spanning Trees using Kruskal’s Algorithm in MFC / C++ / Boost libraries
Kruskal’s algorithm is used to find the minimal spanning tree for a network with a set of weighted links. This might be a telecoms network, or the layout for planning pipes and cables, or one of many other applications. Continue reading