c - 在c中实现图的数据结构的想法

标签 c data-structures linked-list

我想用 C 实现一个图。我对如何存储每个节点感到困惑。我首先考虑使用链表,但是如何存储连接到一个节点的下一个节点。

有什么想法我应该使用什么数据结构以及如何使用它吗?

最佳答案

有一些众所周知的方法可以做到这一点。

一种是使用大小为 [n][n] 的二维数组,其中 n 是节点数。如果存在从 a 到 b 的链接,则设置 graph[a][b]= 1。这种方法通常速度很快,但会占用大量内存,特别是在没有那么多链接和很多节点的情况下。

另一种方法是创建所有节点的列表(或数组),并将每个节点的内容设置为指向动态数组或它链接到的节点列表。

关于c - 在c中实现图的数据结构的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170295/

相关文章:

algorithm - 如何找到射线与移动圆的第一个交点

c++ - 使用 For 循环创建链表 (c++)

linked-list - 在单链表中查找循环

python - 为什么 stdbuf 对 Python 没有影响?

c++ - 我可以在没有 tputs 或 putp 的情况下使用 tparm()

algorithm - 高效计算 n 组的交集

c - 双重间接寻址和传递给函数的结构

c - 访问函数中的链表 - C

c - 在这些 C 代码片段中发现了什么问题?

c++ - 如何检查 void* 是否指向对象类型的有效实例上的指针?