从一组有序对 (x, y) 中找到最长链的最有效算法是什么

What is the most efficient algorithm to find a longest chain from a set of ordered pairs (x, y)?

本文关键字:有效 是什么 算法 一组      更新时间:2023-10-16

我有一组有序对(x,y),其中x != y,但其他方面是任意的。
如何在不重复有序对的情况下找到最长的链?

例如让

S = {(-1, 1.2), (4, 2), (1.2, 3), (3, 5.2), (4.2, -1), (

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