我想用 C 实现一个图。我对如何存储每个节点感到困惑。我首先考虑使用链表,但是如何存储连接到一个节点的下一个节点。
有什么想法我应该使用什么数据结构以及如何使用它吗?
最佳答案
有一些众所周知的方法可以做到这一点。
一种是使用大小为 [n][n] 的二维数组,其中 n 是节点数。如果存在从 a 到 b 的链接,则设置 graph[a][b]= 1。这种方法通常速度很快,但会占用大量内存,特别是在没有那么多链接和很多节点的情况下。
另一种方法是创建所有节点的列表(或数组),并将每个节点的内容设置为指向动态数组或它链接到的节点列表。
关于c - 在c中实现图的数据结构的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170295/