gpt4 book ai didi

C++ 最适合的数据结构

转载 作者:行者123 更新时间:2023-11-30 02:53:35 25 4
gpt4 key购买 nike

我们有一组节点 {1,2,3,4,5,6} 和边(不需要在这里显示)并假设在找到所有可能路径之间的过程之后两个任意节点,假设在 (1,4) 之间。然后,我们得到了一些路径作为输出

1 2 4
1 3 4
1 2 3 4
1 3 2 4

开始和开始节点总是相同的。在这种情况下是 (1,4)。

然后,我们希望将这些输出存储到合适的数据结构(可能是树)中,以便从当前输出(在 (1,4) 之间)重新排序和再现新路径,而无需再次查看图表。例如,假设现在我们想要列出 (2,4) 之间的所有可能路径,但不是再次从图中列出,只是从我们从 (1,4) 获得的列表中列出。这将是;

2 4 (from 1st line)
2 3 4 (from 3rd line)
2 4 (from 4th line )

或在 (3,4) 之间;

3 4 (from 2nd line)
3 4 (from 3rd line)
3 2 4 (from 4th line)

问题是存储 (1,4) 之间的路径,这种方式应该可以很容易地从点生成 (2,4) 之间的路径在 (1,4)

之间的路径中搜索所需节点(即 (2,4))

我相信在这种情况下最合适的数据结构是树,不幸的是我没有太多的编程经验来解决这个问题。

哪种数据结构是解决方案?有没有人向我展示一个实例实现?

最佳答案

为了解决这个问题,我想你可以使用Union-Find Sets,关于如何使用这个结构你可以看here!

你可以在O(lgn)中找到路径之一

关于C++ 最适合的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com