目录
要求
- 图的邻接表和邻接矩阵存储
- 建立下图的邻接表或邻接矩阵,并输出之;
![](https://blog.coolight.cool/wp-content/uploads/2022/01/Snipaste_2022-01-06_10-31-59.png)
- 思路:
- 通过遍历邻接矩阵,采用头插法即可构造邻接表。
- 图的各种遍历算法实现
- 以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();
}
farmacia online envГo gratis: kamagra 100mg – farmacia 24h
http://vardenafilo.icu/# farmacia online internacional
farmacia online internacional precio cialis en farmacia con receta farmacia online madrid
https://tadalafilo.pro/# farmacia online barata
http://kamagraes.site/# farmacias online baratas
https://sildenafilo.store/# viagra online cerca de la coruña
http://farmacia.best/# farmacia online madrid
http://vardenafilo.icu/# farmacia barata
se puede comprar sildenafil sin receta: comprar viagra en espana – viagra online cerca de malaga
https://farmacia.best/# farmacias online seguras en españa
https://vardenafilo.icu/# farmacias online seguras
sildenafilo 100mg precio farmacia comprar viagra п»їViagra online cerca de Madrid
http://kamagraes.site/# farmacias online seguras en españa
https://sildenafilo.store/# viagra online rápida
https://kamagraes.site/# farmacias online seguras en espaГ±a
farmacia online 24 horas: comprar kamagra en espana – farmacia online barata
farmacia online internacional Cialis sin receta farmacias online baratas
https://vardenafilo.icu/# farmacia online envÃo gratis
https://tadalafilo.pro/# farmacias online seguras
https://farmacia.best/# farmacia online barata
farmacia online 24 horas: Precio Levitra En Farmacia – farmacia envГos internacionales
http://kamagraes.site/# farmacia envÃos internacionales
https://vardenafilo.icu/# farmacias online baratas
sildenafilo 100mg farmacia sildenafilo precio viagra para hombre precio farmacias
https://farmacia.best/# farmacias online seguras en españa
farmacias online seguras: vardenafilo – farmacia 24h
https://kamagraes.site/# farmacias online baratas
http://tadalafilo.pro/# farmacia 24h
https://tadalafilo.pro/# farmacia barata
se puede comprar viagra sin receta viagra precio comprar viagra online en andorra
farmacia online madrid: Precio Levitra En Farmacia – farmacias online seguras en espaГ±a
miglior sito dove acquistare viagra: viagra online siti sicuri – farmacia senza ricetta recensioni
farmacie online autorizzate elenco: farmacia online più conveniente – acquisto farmaci con ricetta
farmacia online: kamagra – farmacia online senza ricetta
farmacie online autorizzate elenco avanafil prezzo farmacie online autorizzate elenco
farmacie online autorizzate elenco: kamagra gold – acquistare farmaci senza ricetta
https://avanafilit.icu/# farmacia online migliore
comprare farmaci online con ricetta: kamagra gel – migliori farmacie online 2023
viagra generico recensioni: viagra prezzo farmacia – viagra originale in 24 ore contrassegno
acquisto farmaci con ricetta: Farmacie a milano che vendono cialis senza ricetta – farmacia online migliore
farmacia online piГ№ conveniente farmacia online piu conveniente farmacia online senza ricetta
comprare farmaci online all’estero: avanafil spedra – acquisto farmaci con ricetta
farmacia online migliore: kamagra gel – farmacia online
farmacie online affidabili: avanafil prezzo – farmacia online miglior prezzo
https://kamagrait.club/# comprare farmaci online all’estero
farmacia online più conveniente: kamagra gold – farmacia online migliore
esiste il viagra generico in farmacia: viagra generico – farmacia senza ricetta recensioni
farmacie on line spedizione gratuita kamagra oral jelly farmacia online senza ricetta
comprare farmaci online all’estero: farmacia online migliore – farmaci senza ricetta elenco
farmacia online senza ricetta: avanafil generico – comprare farmaci online con ricetta