问题描述:在所给的有向图G中,每一边都有一个非负边权,要求图G的从源顶点s到目标顶点t之间的最短路径; 算法思想:使用优先队列式分支限界法 代码: /************************************************************************/ /* 单源点最短路劲 /* 优先队列式分支限界法 */ /* author:yel_hb /************************************************************************/ #include <iostream> using namespace std; #define MAX 9999 //定义无穷大 /* **Graph类,用以存放有关图的所有信息 */ class Graph { public: //--------------------------- //param int 初始节点编号 //-------------------------- void ShorestPaths(int); void ShowDist(); Graph(); private: int n; //图的节点个数 int *prev; //存放顶点的前驱节点 int **c; //存放图的邻接矩阵 int *dist; //存放源点到各个顶点的距离 }; /* **节点 */ class MinHeapNode { friend Graph; public: int getI() {return i;} void setI(int ii) { i = ii; } int getLength(){return length;} voi