我已经通过存储每个节点的索引来实现了这个解决方案,但是没有索引是否可行?我的任务是实现一个bloxrolz游戏。在我即将向您展示的示例中,我不知道如何编写代码来检查两个节点是否彼此相邻。
c - 是否可以在不存储节点索引的情况下为图构造邻接矩阵-LMLPHP
这只是游戏的一个随机场。从文件中读取时,我将这里的每个字符存储在一个链接列表中,并带有x、y坐标和ID(如果字符不是“-”)。只有那些不是“-”的节点才能存储在邻接矩阵中,因为它们表示操场,而“-”是可以更改为“-”的节点。
我成功地实现了一个解决方案,但我不确定它是否合法。你能帮我弄清楚没有索引怎么做吗。
c - 是否可以在不存储节点索引的情况下为图构造邻接矩阵-LMLPHP
c - 是否可以在不存储节点索引的情况下为图构造邻接矩阵-LMLPHP

最佳答案

邻接矩阵定义为一个正方形矩阵,其中每个节点由一行和一列表示。如果行i和列j处的条目是1(或您选择的某个值),则这两个节点在图中是连接的。因此,需要某种方法将行和列映射到节点,反之亦然。将节点放入列表并在列表中使用每个节点的索引是一种方法,但这不是唯一的方法。你可以给每个节点一个ID号,只要每个节点的ID是唯一的并且在矩阵的范围内,你就可以使用它。您可以在每一行和每一列的开头或结尾存储一个指向相应节点的指针。简言之,任何让您找到给定节点对的矩阵项的方法都是足够的。
也就是说,因为您正在讨论行和列的有序列表,所以您选择的任何方法都类似于将节点放入列表并使用列表中节点的索引。好好想想你到底想解决什么问题。

关于c - 是否可以在不存储节点索引的情况下为图构造邻接矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56382396/

10-12 12:35
查看更多