从一组有序对 (x, y) 中找到最长链的最有效算法是什么
What is the most efficient algorithm to find a longest chain from a set of ordered pairs (x, y)?
我有一组有序对(x,y),其中x != y,但其他方面是任意的。
如何在不重复有序对的情况下找到最长的链?
例如让
5.2, 1), (3, 2)}.
最长的链由(-1,1.2),(1.2,3),(3,5.2),(5.2,1)形成。
还有另一个链(-1,1.2),(1.2,3),(3,2),但它不是最长的。
遍历整个集合是一种解决方案,但它效率不高。
我不打算编码,但这可能对你有所帮助。
你必须看看图算法。认为您的对是具有输入侧和输出侧的节点。然后想想你可以画的所有边缘。然后简化图形并使用算法用于图形的一些最长路径搜索。 https://en.wikipedia.org/wiki/Longest_path_problem
相关文章:
- 将此布尔值传递给此函数的最有效方法是什么?
- 比较C++中两个整数的最有效和最干净的方法是什么?
- 在 c++ 中解决段树以外的范围查询的有效方法是什么?
- 存储变量的更有效方法是什么?
- 这是什么代码?为什么它有效?C++
- 找到对称矩阵的最大元素的最有效算法是什么
- 传递非泛型函数的最有效方法是什么?
- 按升序打印矢量的所有元素直到它为空而没有重复项的最有效方法是什么?
- 将一种数据类型的向量复制到同一数据类型的结构向量中的有效方法是什么
- 是什么使这个以'+'开头的字符串添加成为有效的语句?
- 释放 std::vector 中指针内存的最有效方法是什么?
- 从长(且合理)稀疏向量中选择随机元素的最有效方法是什么?
- 有效创建数字签名的正确方法是什么?我可以使用DSA_sign_setup()吗?
- 填充红黑树的最有效方法是什么?
- 释放分配给大量矢量的内存的最有效方法是什么?
- 在使用 0MQ 异步接收时异步发送数据的最有效方法是什么?
- 在 c++ 中使用右值设置类变量的最有效方法是什么
- 检查字符串是否与可能的输入之一匹配的最有效方法是什么?
- 将随机数放入缓冲区以写入文件的有效方法是什么?
- 从向量中提取最小值、最大值和中位数的最有效方法是什么