修改密码

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

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

v5.0
搜索
    v5.0

      二分图

      HDC

      概述

      二分图(Bipartite Graph)算法用于确定给定的图是否为二分图。通过应用该算法,可以在不同情况下识别和利用二分图的固有结构,实现有效的资源分配、任务分配和分组优化。

      如果一个图为二分图,本算法返回1,否则返回0

      基本概念

      二分图

      二分图中的节点可以划分至两个不相交的集合,且图中的每条边都连接一个集合中的节点和另一个集合中的节点。换句话说,不存在连接同一集合内节点的边。

      这是一个示例的二分图,它的节点可以划分至集合V1 = {A, D, E}和V2 = {B, C, F}。

      着色法

      要确定一个图是否为二分图,一种常见的方法是进行图遍历并将每个访问的节点分配到两个不同的集合中。这个过程通常被称为对节点进行"着色"。在遍历过程中,如果遇到连接两个同一集合中的节点的边,则该图不是二分图。相反,如果所有的边连接来自不同集合的节点,那么该图是二分图。

      在这个例子中,图A和图B都是二分图。图C不是二分图,因为它包含一个奇数环。奇数环(Odd Cycle)是指节点数为奇数的环路。二分图不能包含奇数环,因为无法使用两种颜色对奇数环中的所有节点进行着色,同时满足二分图的要求。这种特性,即二分图不包含任何奇数环,是二分图的基本特征之一。

      特殊说明

      • 自环边的两个端点是同一个节点,因此含有自环边的图都不是二分图。
      • 二分图算法忽略边的方向,按照无向边进行计算。

      示例图集

      创建示例图集:

      // 在空图集中逐行运行以下语句
      insert().into(@default).nodes([{_id:"a"}, {_id:"b"}, {_id:"c"}, {_id:"d"}, {_id:"e"}, {_id:"f"}])
      insert().into(@default).edges([{_from:"a", _to:"b"}, {_from:"a", _to:"d"}, {_from:"c", _to:"b"}, {_from:"d", _to:"c"}, {_from:"d", _to:"e"}, {_from:"e", _to:"b"}, {_from:"f", _to:"a"}, {_from:"f", _to:"e"}])
      

      创建HDC图集

      将当前图集全部加载到HDC服务器hdc-server-1上,并命名为 hdc_bipartite

      CALL hdc.graph.create("hdc-server-1", "hdc_bipartite", {
        nodes: {"*": ["*"]},
        edges: {"*": ["*"]},
        direction: "undirected",
        load_id: true,
        update: "static",
        query: "query",
        default: false
      })
      

      hdc.graph.create("hdc_bipartite", {
        nodes: {"*": ["*"]},
        edges: {"*": ["*"]},
        direction: "undirected",
        load_id: true,
        update: "static",
        query: "query",
        default: false
      }).to("hdc-server-1")
      

      参数

      算法名:bipartite

      该算法不需要任何参数。

      完整返回

      CALL algo.bipartite("hdc_bipartite", {params: {}}) YIELD r
      RETURN r
      

      exec{
        algo(bipartite).params() as r
        return r
      } on hdc_bipartite
      

      结果:

      bipartite_result
      1

      流式返回

      CALL algo.bipartite("hdc_bipartite", {
        params: {},
        return_params: {
        	stream: {}
        }
      }) YIELD result
      RETURN result
      

      exec{
        algo(bipartite).params().stream() as result
        return result
      } on hdc_bipartite
      

      结果:

      bipartite_result
      1

      统计返回

      CALL algo.bipartite("hdc_bipartite", {
        params: {},
        return_params: {
        	stats: {}
        }
      }) YIELD result
      RETURN result
      

      exec{
        algo(bipartite).params().stats() as result
        return result
      } on hdc_bipartite
      

      结果:

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