这样的算法在Skiena的算法设计书中作为练习留给读者,据推测它只是Prim算法的修改(In his wiki reference练习6-11)。任何人都可以设计此类算法是否有一种算法可以在只有k个不同边缘成本的图上找到运行时间为O(n log k)的最小生成树?
0
A
回答
1
具有简单优先级队列的Prim是O(m + n lg n),其中m是边数,n是顶点数。如果您存储具有相同优先级的条目(例如,使用链接列表),则会自动获得O(m + n lg k)。 AFAIK,这种情况下最先进的是O(m),Fredman and Willard。
+1
只需要清楚,我相信问题中的O(n lg k)是错误的。事实上,我在Skiena的书 – 2011-02-17 22:58:08
7
是的,问题应该要求O(m + n log k)。很明显,欧米茄(米)是一个下界,因为我们甚至不检查所有这些都找不到最低权重的边缘。
为了记录,约定是n表示顶点的数量,m表示边的数量。
享受我的书:-)
史蒂芬Skiena
相关问题
- 1. 在k <n的算法运行时log(n)vs log(k)
- 2. 正好有k个颜色边缘的生成树
- 3. KSum如何最小运行时间为O(N^k-1)?
- 4. 是否有一种算法可以在多项式时间内找到k-tsp(旅行商)的最优值?
- 5. 算法的渐近分析:如何在时间O(k log k + n)中插入k个新元素到大小为n的排序列表中
- 6. 是否有一种舒适的方法可以在PARI/GP中生成n个组合中的k个组合?
- 7. 算法K-Way合并。这个解决方案是O(n log k)吗?
- 8. 从N个购买K个最小成本与价格不同
- 9. 在{1,2,3}中为边缘权重寻找最小生成树的算法
- 10. 具有K额外节点的最小生成树
- 11. 最小生成树只有2等于边缘
- 12. 用于在n位上生成大小为k的纠错码的算法
- 13. 边缘长度受限时的最小生成树的快速算法?
- 14. 如何将n个排序列表中的平均长度K排序为O(n * log K)时间?
- 15. 变换树的K叶以最小的成本
- 16. 什么是这种方法的寻找k个最大N个
- 17. 计数排序O(n + k)时间复杂度是什么k?
- 18. O(n)的运行时间算法
- 19. 第n个K数的最佳算法
- 20. 将哈希表转换为O(log(k)* k + n)中的排序数组
- 21. 查找最小生成树是否包含线性时间的边沿?
- 22. 最小生成树的运行时间? (Prim方法)
- 23. 设计一个在线性时间内找到这个图的最小生成树的算法
- 24. 是这个算法的渐近时间复杂度O(log n)?
- 25. 生成一个整数的所有组成k部分
- 26. 算法在推力/ cudpp中找到第k个最小元素
- 27. 这个最小生成树算法是否正确?
- 28. 什么是生成每个k位数的算法?
- 29. 最快最小生成树算法
- 30. Sollin的最小生成树算法
什么是正? n = | V | + | E |? – 2011-02-17 22:24:00
n = | V |根据我的理解 – ilcavero 2011-02-18 03:51:56