修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

??certificate-table.title_zh_CN??

??certificate-table.name_zh_CN?? ??certificate-table.issued-at_zh_CN?? ??certificate-table.valid-until_zh_CN?? ??certificate-table.serial_zh_CN?? ??certificate-table.actions_zh_CN??
??certificate-table.serial_zh_CN?? ??certificate-table.valid-until_zh_CN?? ??certificate-table.actions_zh_CN??

??certificate-table.no-data.p1_zh_CN?? ??certificate-table.no-data.p2_zh_CN??

??invoice-table.title_zh_CN??

??invoice-table.name_zh_CN?? ??invoice-table.create-time_zh_CN?? ??invoice-table.id_zh_CN?? ??invoice-table.price_zh_CN?? ??invoice-table.actions_zh_CN??
??invoice-table.name_zh_CN?? ??invoice-table.create-time_zh_CN?? ??invoice-table.id_zh_CN?? ??invoice-table.price_zh_CN?? ??invoice-table.actions_zh_CN??
v4.3
搜索
    中文EN
    v4.3

      最小生成树

      ✓ 文件回写 ✕ 属性回写 ✓ 直接返回 ✓ 流式返回 ✕ 统计值

      概述

      最小生成树(Minimum Spanning Tree, MST)算法计算图中每个连通分量的边权重之和最小的生成树。

      MST 在网络设计、聚类和优化等问题中具有各种应用,其中最小化总成本或权重是重要的目标。

      基本概念

      生成树

      一个生成树(Spanning Tree)是一个连通图 G = (V, E)(或一个连通分量)的连通子图,它包含图中的所有节点,并形成一个树结构(即无环)。一个图可能存在多个生成树,而每个生成树必定有 (|V| - 1) 条边。

      下图中的 11 个节点和 10 条用红色突出显示的边构成该图的一个生成树:

      最小生成树(MST)

      最小生成树(MST)是边权重和最小的生成树。MST 的构建从给定的起点开始。起点的选择不会影响 MST 算法的正确性,但会影响 MST 的结构和边的添加顺序。不同的起点可能产生不同的 MST,但对于给定的图,它们都是有效的 MST。

      给上面的示例图赋予边权重后,使用不同起点产生的三个可能的 MST 在下面以红色突出显示:

      关于起点的选择:

      • 每个连通分量只需要一个起点。如果指定了多个起点,只有第一个有效。
      • 如果某个连通分量没有指定起点,则不会为其计算 MST。
      • 孤点不是计算 MST 的有效起点。

      特殊说明

      • 最小生成树算法忽略边的方向,按照无向边进行计算。

      语法

      • 命令:algo(mst)
      • 参数:
      名称
      类型
      规范
      默认
      可选
      描述
      ids / uuids []_id / []_uuid / / 起点的 ID/UUID;如果忽略,系统将为每个连通分量选择一个起点
      edge_schema_property []@<schema>?.<property> 数值类型,需 LTE / 用作边权重的属性,权重值为所有指定属性值中的最小值;没有任何指定属性的边不参与构成 MST
      limit int ≥-1 -1 返回的结果条数,-1 返回所有结果

      示例

      示例图如下,节点 A 是电力中心,节点 B~H 是周围的村庄。每条边上标有其 UUID 和连接位置之间的距离,表示所需的电缆长度:

      文件回写

      配置项
      回写内容
      描述
      filename _id--[_uuid]--_id MST 中的一步路径:(起点)--(边)--(终点)
      algo(mst).params({
        uuids: [1],
        edge_schema_property: 'distance'
      }).write({
        file:{
          filename: 'solution'
          }
      })
      

      结果:文件 solution

      A--[107]--H
      A--[108]--E
      E--[111]--G
      F--[113]--G
      A--[101]--B
      A--[104]--D
      C--[103]--D
      

      直接返回

      别名序号
      类型
      描述
      0 []path MST 中的一步路径:_uuid (起点) -- [_uuid] (边) -- _uuid (终点)
      algo(mst).params({
        ids: 'A',
        edge_schema_property: '@connect.distance'
      }) as mst 
      return mst
      

      结果:mst

      1--[107]--8
      1--[108]--5
      5--[111]--7
      6--[113]--7
      1--[101]--2
      1--[104]--4
      3--[103]--4

      流式返回

      别名序号
      类型
      描述
      0 []path MST 中的一步路径:_uuid (起点) -- [_uuid] (边) -- _uuid (终点)
      algo(mst).params({
        uuids: [1],
        edge_schema_property: 'distance'
      }).stream() as mst
      with pedges(mst) as mstUUID
      find().edges(mstUUID) as edges
      return sum(edges.distance)
      

      结果:5.65

      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写