在给定矩阵的情况下,根据特定条件构造图形

时间:2018-06-11 05:52:55

标签: matrix graph graph-algorithm

给定矩阵,我想将其转换为图形,使得连接元素的区域仅由该值的一个顶点显示。如果两个顶点相邻(即垂直相邻或水平相邻,但不是对角线),则称两个顶点相连。

例如, 当给定矩阵如图所示时, Matrix 构建的图应该看起来像,

Graph

我使用的是以下算法:

  1. 遍历矩阵的每个未访问的顶点并进行深度优先搜索,直到找到相同的元素。

  2. 如果遇到不同的元素,则将其存储,因为它必须稍后连接到由第一个顶点形成的一个点。

  3. 基本上,我首先从矩阵中创建了一个简单的图形,然后使用该图形再次生成所需的图形。 这个算法有效,但结果太慢了。请建议一个更好的算法。

0 个答案:

没有答案