我学习了一些图形理论,如遍历,最小生成树等。但只是理论,我在编程时从不使用它们。
所以我有两个问题。
如果树的入口是它的根,那么图表怎么样?如何在构建之后继续跟踪它?
如果我创建一个边缘类来存储边缘的一些标签或重量,我如何将每个身体链接在一起?如何输入图表并可以到达任何边和节点?
如果我问转储问题,我很抱歉,但在编程方面,图表对我来说太模糊了。 并感谢您的帮助。
答案 0 :(得分:2)
实际上,树和图都是算法中的基本数据结构,你通常不会使用它们,因为你没有面对复杂的实际问题。您可以参考这个[https://cstheory.stackexchange.com/questions/19759/core-algorithms-deployed][1]来查看一些着名的开源软件中树和图的使用方式。
关于图表的问题:
图形的入口总是(图形结构+入口节点),图形结构是数据和可以描述图形的关系.e.g矩阵或邻接列表。因此,当您使用图表时,请根据图算法从您可以在任何节点或边缘上操作的入口节点开始。
假设您使用Matrix来存储图表,您的输入是:
V1,V2,权重,您可以通过赋值来表示,Matrix [v1] [v2] =权重。矩阵将每个身体连接在一起。获得边缘时,可以使用Matrix [node1_of_edge] [node2_of_edge]。节点由索引整数表示。
我不知道我所描述的内容是否可以理解,我认为如果您对数据结构和算法不熟悉,您需要阅读更多书籍并做更多练习才能完美地理解相关的数据结构和算法。你现在需要更多地模仿和思考!