14#ifndef BRANCHANDBOUND1TREE_MST_H
15#define BRANCHANDBOUND1TREE_MST_H
This file contains the declaration of the Fibonacci Heap datastructure for the Minimum Spanning Tree ...
This file contains the declaration of the Merge-Find Set datastructure for the Minimum Spanning Tree ...
void add_edge(MST *tree, const Edge *edge)
Add an Edge to the MST.
void print_mst(const MST *mst)
Print the MST, printing all the information it contains.
void create_mst(MST *mst, const Node *nodes, unsigned short num_nodes)
Create a Minimum Spanning Tree from a set of Nodes.
void print_mst_original_weight(const MST *mst, const Graph *graph)
Print the MST, printing all the information it contains.
A reduced form of an Edge in the Graph, with only the source and destination Nodes.
unsigned short src
The source Node of the Edge.
unsigned short dest
The destination Node of the Edge.
Minimum Spanning Tree, or MST, and also a 1-Tree.
unsigned short num_nodes
The number of Nodes in the MST.
short edges_matrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]
-1 if there is no Edge between the two Nodes, otherwise the index of the Edge in the MST.
double prob
The probability of the MST, i.e. the average of the probabilities of its Edges.
Edge edges[MAX_VERTEX_NUM]
The set of Edges in the MST, these are |V| because the MST can be a 1-Tree.
Node nodes[MAX_VERTEX_NUM]
The set of Nodes in the MST.
unsigned short num_edges
The number of Edges in the MST.
bool isValid
True if the MST has the correct number of Edges, false otherwise.
double cost
The total cost of the MST, i.e. the sum of the weights of the Edges.