双向编辑图结构与数据表示教学演示

图结构基本概念

图形可视化交互区

当前图的属性总结

    数据结构表示区

    邻接矩阵
    邻接表

    邻接矩阵: 行/列代表节点。单元格 `[i][j]` 的值表示从节点 `i` 到节点 `j` 的边的权重 (或1代表存在边)。0 或空表示无直连边。无向图的矩阵是对称的。可通过编辑单元格修改图结构 (对角线不可编辑)。

    邻接表: 列出每个节点及其直接连接的邻居。格式为 `节点: 邻居1(权重), 邻居2(权重), ...`。此区域为只读,反映当前图状态。

    检测图中的环:

    • 使用三种颜色(状态)标记节点:白色(未访问)、灰色(正在访问,在当前递归栈中)、黑色(已访问完成)。
    • 从一个白色节点开始DFS。
    • 将当前节点标记为灰色。
    • 遍历其邻居:
      • 如果遇到白色邻居,递归访问它。
      • 如果遇到灰色邻居,说明遇到了返祖边,检测到环。
      • 如果遇到黑色邻居,忽略它(它及其子树已探索完毕)。
    • 当一个节点的所有邻居都处理完毕后,将其标记为黑色。
    • 对图中所有未访问过的节点重复此过程,以处理非连通图。