因此,我在生物体内有大量化学物质,包括其前体化学物质及其产生的化学物质数据。
我在想某种树状结构是合适的;每个化学品都是一个节点,每个父母都是一个前体,每个孩子都是一个产品。
每个节点可能有多个父节点或多个子节点,因此我感到困惑!
然而,这个结构的主要功能是找到所有的化学途径,我不确定树在这种搜索中是否最有效。
我的问题是:这种类型的数据和操作是否有更合适的数据结构?
答案 0 :(得分:0)
我认为您的数据结构是有向图。
从A到B找到所有路径的蛮力方法是从A开始进行广度优先搜索,并覆盖尽可能多的图形。
这可以保证您找到的路径的长度从最短到最长。
每当你点击B时,你应该将该路径中的所有节点标记为“通向B”。通过这种方式,您可以考虑收敛路径而无需多次遍历图形。
请记住,除非您限制它,否则图表可以包含循环。从A到B的路径中的循环为您提供了无限的路径,因此您可以自行决定如何处理这种情况。