任何解决涉及图论的指南?

时间:2012-05-18 11:22:16

标签: algorithm graph-theory

行。我的问题是我不知道何时使用不同的图论算法,如果没有在问题中说明。我怎么知道何时使用Prim's / Kruskal而不是Floyd / Dijkstra?问题中有哪些具体线索可以提供我需要解决的问题的线索?对不起,如果这看起来像一个愚蠢的问题,但我知道这些算法(但我没有实现太多,但我正在尝试,就像现在!哈哈),但我似乎不知道如何使用除了理论之外,它们更实际。

请给出提示! (如果你需要样本问题,或者其他什么,我可能会链接我在onlinejudge中找到的东西)

2 个答案:

答案 0 :(得分:1)

让您的基础知识正确无误。了解MST和最短路径之间的区别。知道什么是连接等。知道何时将哪种算法应用于未明确提及的问题的下一部分是实践。

请参阅这些教程http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index 特别是图表及其数据结构简介中的那些。

然后在codechef和topcoder上练习一些问题。在一天结束时,你需要练习,练习,然后再练习一些。

答案 1 :(得分:0)

如果你遇到问题,你已经沦为图论理论问题,你也应该知道你想用它做什么。

如果你需要找到两点之间的最短路径,那么你需要使用众多最短路径算法之一。

如果您需要找到一种方法将任务与工作人员匹配,那么您可能会将其减少到最大流量问题并使用最大流量算法来解决它。

我不确定我是否可以帮助您区分最短路径问题和最大流量问题,但如果您只需要知道使用哪种算法,那么这很简单:没关系。只要您选择一个最小生成树算法来解决最小生成树问题,您就会得到最小生成树。

看看这个问题要求你根据图论找到什么,想一想你如何逻辑地去做它并选择一个匹配那个过程和结果的算法。