目录
要求
- 图的邻接表和邻接矩阵存储
- 建立下图的邻接表或邻接矩阵,并输出之;
- 思路:
- 通过遍历邻接矩阵,采用头插法即可构造邻接表。
- 图的各种遍历算法实现
- 以0结点为起点实现上述图的深度优先和广度优先遍历算法;
- 思路:
- 用堆栈实现深度优先遍历,用队列实现广度优先遍历。
- 最小生成树的算法实现
- 利用普里姆(Prim)算法或克鲁斯卡尔(Kruskal)算法求上图的最小生成树,算法实现代码必需有注释。
- 思路:
- Prim:从0点出发每次取能到达的最小权重边,走完即为一颗最小生成树。
- 最短路径的算法实现
- 利用狄克斯特拉(Dijkstra)算法求上图中0结点到其它结点的最短路径,算法实现代码必须有注释。
- 思路:
- 循环每次计算到每一个点的最小距离并记录,然后取最小距离的那个点合并。
源代码
若以下显示需要登录,请刷新页面或点击此处下载。
思考
若只求带权有向图G中从顶点i到顶点j的最短路径,如何修改Dijkstra 算法来实现这一功能?
void Dijkstra_way(int first_point)
{
int* widget_list = new int[map_size]; //记录距离0的长度
for (int i = map_size; i--;)
{
widget_list[i] = INF;
adjList[i].weight = -1;
}
widget_list[first_point] = 0;
adjList[first_point].weight = 0;
for (int i = 1; i < map_size; ++i)
for (int j = map_size; j--;) //计算距离
if (adjList[j].weight >= 0)
for (node* node_p = adjList[j].next_p; node_p != NULL; node_p = node_p->next_p)
if (widget_list[j] + node_p->weight < widget_list[node_p->data])
{
widget_list[node_p->data] = widget_list[j] + node_p->weight;
adjList[node_p->data].weight = j;
}
cout << "<< Dijkstra 最短路径:" << endl;
coolQueue<int> stack;
for (int i = 0; i < map_size; ++i)
{
for (int j = i; j != first_point;)
{
stack.End_push(j);
j = adjList[j].weight;
}
cout << "<< " << first_point;
for (int pop_int = 0; stack.End_pop(pop_int);)
cout << " -> " << pop_int;
cout << endl;
stack.clear();
}
adjList_reflush();
}
п»їpharmacie en ligne france: levitra generique prix en pharmacie – п»їpharmacie en ligne france
SildГ©nafil Teva 100 mg acheter: Acheter du Viagra sans ordonnance – Viagra vente libre pays
п»їpharmacie en ligne france: cialis sans ordonnance – pharmacie en ligne fiable
pharmacie en ligne france pas cher: kamagra pas cher – Pharmacie Internationale en ligne
Viagra homme prix en pharmacie sans ordonnance: viagra en ligne – SildГ©nafil 100mg pharmacie en ligne
pharmacie en ligne france pas cher: Acheter Cialis 20 mg pas cher – pharmacie en ligne livraison europe
п»їpharmacie en ligne france: pharmacie en ligne – pharmacie en ligne pas cher
pharmacie en ligne avec ordonnance: pharmacie en ligne – pharmacie en ligne france livraison belgique
pharmacie en ligne sans ordonnance: acheter kamagra site fiable – vente de mГ©dicament en ligne
trouver un mГ©dicament en pharmacie: kamagra gel – pharmacie en ligne avec ordonnance
pharmacie en ligne livraison europe: cialis generique – vente de mГ©dicament en ligne
pharmacie en ligne: Levitra sans ordonnance 24h – pharmacie en ligne pas cher
Pharmacie Internationale en ligne: levitra generique sites surs – pharmacie en ligne avec ordonnance
Viagra femme sans ordonnance 24h: viagra en ligne – Viagra vente libre pays
pharmacie en ligne: pharmacie en ligne livraison europe – pharmacie en ligne livraison europe
pharmacie en ligne livraison europe: pharmacie en ligne france livraison belgique – pharmacie en ligne pas cher
Pharmacie Internationale en ligne: Cialis sans ordonnance 24h – Pharmacie en ligne livraison Europe
pharmacie en ligne avec ordonnance: Acheter Cialis 20 mg pas cher – Achat mГ©dicament en ligne fiable
Pharmacie en ligne livraison Europe: pharmacie en ligne pas cher – pharmacie en ligne avec ordonnance
Претенденты смотреть Претенденты фильм, 2024, смотреть онлайн
pharmacie en ligne sans ordonnance: Pharmacies en ligne certifiees – pharmacie en ligne pas cher
Pharmacie sans ordonnance: acheter mГ©dicament en ligne sans ordonnance – pharmacie en ligne france fiable
pharmacie en ligne avec ordonnance: pharmacie en ligne sans ordonnance – trouver un mГ©dicament en pharmacie
Pharmacie sans ordonnance: Levitra pharmacie en ligne – Pharmacie Internationale en ligne
pharmacie en ligne: Pharmacies en ligne certifiees – pharmacie en ligne sans ordonnance
pharmacie en ligne france pas cher: Pharmacies en ligne certifiees – trouver un mГ©dicament en pharmacie
pharmacie en ligne france livraison internationale: Cialis sans ordonnance 24h – Pharmacie Internationale en ligne
Pharmacie en ligne livraison Europe: cialis generique – Achat mГ©dicament en ligne fiable
Acheter Sildenafil 100mg sans ordonnance: viagra sans ordonnance – Acheter viagra en ligne livraison 24h
Pharmacie en ligne livraison Europe: kamagra pas cher – pharmacie en ligne pas cher
pharmacie en ligne fiable: cialis generique – Achat mГ©dicament en ligne fiable
pharmacie en ligne avec ordonnance: kamagra oral jelly – pharmacie en ligne france livraison belgique
п»їpharmacie en ligne france: п»їpharmacie en ligne france – pharmacie en ligne france pas cher
Pharmacie Internationale en ligne: Cialis sans ordonnance 24h – Pharmacie en ligne livraison Europe
pharmacie en ligne: levitra generique – pharmacie en ligne france livraison belgique
pharmacie en ligne france pas cher: acheter kamagra site fiable – pharmacies en ligne certifiГ©es
Pharmacie en ligne livraison Europe: acheter kamagra site fiable – pharmacie en ligne avec ordonnance
pharmacie en ligne france pas cher: levitra generique sites surs – pharmacie en ligne fiable
This post was incredibly informative and well-organized. I learned so much from reading it. Thank you for your hard work and dedication!rendingnicheblog
trouver un mГ©dicament en pharmacie: Levitra acheter – Achat mГ©dicament en ligne fiable
Viagra vente libre allemagne: Viagra sans ordonnance 24h – Viagra vente libre allemagne
pharmacie en ligne pas cher: pharmacie en ligne – pharmacie en ligne france fiable
pharmacie en ligne france livraison internationale: vente de mГ©dicament en ligne – pharmacie en ligne avec ordonnance
pharmacie en ligne france livraison internationale: levitra en ligne – pharmacie en ligne livraison europe
SildГ©nafil 100 mg sans ordonnance: viagra sans ordonnance – Viagra homme prix en pharmacie sans ordonnance
vente de mГ©dicament en ligne: Levitra sans ordonnance 24h – Pharmacie Internationale en ligne
trouver un mГ©dicament en pharmacie: cialis prix – pharmacie en ligne france livraison internationale
Viagra gГ©nГ©rique sans ordonnance en pharmacie: viagra en ligne – Viagra pas cher paris
pharmacie en ligne pas cher: cialis sans ordonnance – pharmacie en ligne france fiable
Pharmacie sans ordonnance: Medicaments en ligne livres en 24h – acheter mГ©dicament en ligne sans ordonnance