当前位置: 首页 > 知识库问答 >
问题:

如何从二维数组构建图形?

长孙绍辉
2023-03-14

我正在学习图的结构和算法。从概念上讲,我理解DFS、BFS,并且我可以通过一个图来实现它们,但是传统上图是如何组成的呢?

通常,我将它们看作是以边为指针的节点列表、与它们连接的节点的边列表,或者是一个2D矩阵,其中两个节点的交点arr[node_a][node_b]是边的权重。

当涉及到实际构建它的输入,我不知道从哪里开始。

%%%%%%%%%%%%%%%%%%%%
%--------------%---%
%-%%-%%-%%-%%-%%-%-%
%--------P-------%-%
%%%%%%%%%%%%%%%%%%-%
%.-----------------%
%%%%%%%%%%%%%%%%%%%%

共有1个答案

乌学博
2023-03-14

通常使用以下两种数据结构之一存储图:

>

  • 邻接列表(http://en.wikipedia.org/wiki/marginency_list)

    邻接矩阵(http://en.wikipedia.org/wiki/marchitency_matrix)

  •  类似资料:
    • 我有一个这样的文本文件: ids.txt 我想读取这个文件并加载到二维数组中。我希望有一个类似于下面的数组: 如何解决此异常?

    • 问题内容: 我有一个像这样的文本文件: ids.txt 我想读取此文件并将其加载到二维数组中。我希望有一个类似于下面的数组: 这是我写的代码: 运行此代码时,将引发异常: 如何解决此异常? 问题答案: 给定,您可以将每个项目解析为,并将其包装为使用: 现在要将结果转换为a,您只需执行以下操作: 对于输入: 输出:

    • 我已经能够使用创建一个数组。txt文件。然而,现在打印阵列时,它会重复打印最后一行,而不是之前的行。我相信我分配了正确的值,并确保将它们分配给数组。 我试着循环并给每个索引分配正确的值,然后沿着每一行往下走,直到它们都被分配。然而,这会导致最终覆盖一切。 它应该显示类似的结果 [3.0][3.0], [2.0][10.0][7.0], [5.0][6.0][9.0], [4.0][5.0][8.0

    • 问题内容: 我一直在网上阅读,有些地方说这是不可能的,有些地方说是不可能,然后举一个例子,其他人则反驳该例子,等等。 如何在JavaScript中声明二维数组?(假设有可能) 我将如何访问其成员?(或?) 问题答案:

    • 如何创建包含ArrayList的二维数组?比如:

    • 我有以下代码: 但当我试着去看测试的内容时,我看到了这个 如果我试图看到什么是在任何项目的数组我得到一个错误: 有人能解释一下我做错了什么,正确的方法是什么吗? Visual Studio 2022, Blazor Webassup,.NET6.0 谢谢