我正在阅读“Grokking算法”,了解Dijkstran和贪婪算法,
但是,当作者将它们与NP完全问题进行比较时
但是很难说你正在处理的问题是np完全的。通常,一个容易解决的问题和一个np完全问题之间有很小的区别。例如,在前几章中,我讨论了很多关于最短路径的问题。你知道如何计算从A点到B点的最短路径。
但是如果你想找到连接多个点的最短路径,那就是旅行售货员问题,它是NP完全的简单的回答是:很难判断你正在处理的问题是否是NP完全问题以下是一些赠品:
句子:
但是如果你想找到连接几个点的最短路径,
什么是“几点”?
我想不出和dijkstan的基本算法有什么不同。
最佳答案
我想,他指的是通过一个图的所有节点的子集的路径。(想想“几点”的最坏情况)
注意,对于n个节点的图上的k=3或k=3000,对于任意固定数量的点,问题将具有与两点相同的复杂性。虽然有些人可能认为几个永远不会超过七个,或者可能是七千七亿个,但这既不是事实,也不是一门精确的科学。
不太可能他指的是旅行商问题的一般公式(连通图上的所有节点/点),尽管是一种可能性。NP完全可以。
关于python - “连接多个点的最短路径” NP完整算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52951472/