代数图-0.7:代数图构造和转换库
版权(c) 安德烈·莫霍夫2016-2022
许可证MIT(请参阅文件LICENSE)
维护人员andrey.mokhov@gmail.com
稳定性实验的
安全哈斯克尔
语言哈斯克尔2010

代数。图表。ToGraph(ToGraph)

描述

阿尔加是用于图的代数构造和操作的库在哈斯克尔。请参见这篇论文对于图书馆背后的动机、基础理论和实施细节。

此模块定义类型类ToGraph(ToGraph)用于捕获数据类型可以转换为代数图。要创建这个类的实例,您需要只需要定义一个方法(到图表折叠),这给了你免费访问许多其他有用的方法(尽管注意默认实现在性能上可能是次优的)。

此类型类类似于标准类型类可折叠的为列表定义。此外,可以定义可折叠的方法foldMap(折叠地图)到列表使用ToGraph(ToGraph).折叠:

foldMap(折叠地图)(f)=折叠 记忆(f)(<>) (<>)到列表=折叠[]纯净的(++) (++)

然而,结果是可折叠的实例有问题。例如,折叠等价代数图11+1导致不同结果:

到列表(1    ) == [1]到列表(1 + 1) == [1, 1]

为避免此类情况,我们不提供可折叠的代数实例图形数据类型。此外,我们要求将四个参数传递给折叠满足图的代数定律。上述定义属于foldMap(折叠地图)到列表违反这一要求,例如[1] ++ [1] /= [1]因此不允许使用、和。

简介

类型类别

ToGraph(ToGraph)t吨哪里 来源 #

这个ToGraph(ToGraph)type类捕获可以转换为的数据类型代数图。此类型类的实例应满足定律由默认方法定义指定。

关联的类型

类型 ToVertex(顶点)t吨来源 #

结果图的顶点类型。

方法

到图表:t->图表(到顶点t)来源 #

将值转换为相应的代数图,请参见代数。图表.

toGraph(目标图表)==折叠 清空 顶点 覆盖 连接

折叠::r->(ToVertex(顶点)t->r)->(r->r->r)->(r->r->r)->t->r来源 #

方法折叠用于广义图折叠。它崩溃了通过应用提供的图构造原语获得给定值。这个参数的顺序是:空、顶点、覆盖和连接,它是假设参数满足图代数的公理。

foldg==代数。图表。折叠.toGraph(目标图表)

栈空::t->布尔 来源 #

检查图形是否为空。

是空的==折叠真的(常数假)(&&)(&&&)

hasVertex公司::等式(ToVertex(顶点)t) =>ToVertex(顶点)t->t->布尔 来源 #

检查图形是否包含给定的顶点。

hasVertex x(具有顶点x)==折叠假(==x)(||)(|||)

hasEdge公司::等式(ToVertex(顶点)t) =>ToVertex(顶点)t->ToVertex(顶点)t->t->布尔 来源 #

检查图形是否包含给定边。

hasEdge x y==代数。图表。hasEdge公司x年。toGraph(目标图表)

顶点计数::订单(ToVertex(顶点)t) =>t->国际 来源 #

图中的顶点数。

vertexCount==设置。大小.顶点集

边缘计数::订单(ToVertex(顶点)t) =>t->国际 来源 #

图中的边数。

edgeCount=设置。大小.边缘设置

顶点列表::订单(ToVertex(顶点)t) =>t->[ToVertex(顶点)t)来源 #

给定图的顶点排序列表。

vertexList==设置。到AscList.顶点集

边缘列表::订单(ToVertex(顶点)t) =>t->[(ToVertex(顶点)t、,ToVertex(顶点)t) ]来源 #

图的边的排序列表。

edgeList==设置。到AscList.边缘设置

顶点集::订单(ToVertex(顶点)t) =>t->设置(ToVertex(顶点)t)来源 #

图的顶点集。

顶点集==折叠设置。空的设置。单子设置。联盟设置。联盟

顶点IntSet::ToVertex(顶点)t吨~国际=>t->IntSet(IntSet) 来源 #

图的顶点集。喜欢顶点集但专门用于顶点为类型的图国际.

顶点IntSet==折叠IntSet(IntSet)。空的IntSet(IntSet)。单子IntSet(IntSet)。联盟IntSet(IntSet)。联盟

边缘设置::订单(ToVertex(顶点)t) =>t->设置(ToVertex(顶点)t处,ToVertex(顶点)t)来源 #

图的边集。

edgeSet==代数。图表。相邻地图。边缘设置.到相邻地图

预设::订单(ToVertex(顶点)t) =>ToVertex(顶点)t->t->设置(ToVertex(顶点)t)来源 #

这个预设顶点的集合直接前辈.

preSet x==代数。图表。相邻地图。预设x。到相邻地图

预IntSet::ToVertex(顶点)t吨~国际=>国际->t->IntSet(IntSet) 来源 #

这个预设(此处预IntSet)的集合直接前辈.喜欢预设但专门用于图形顶点类型国际.

preIntSet x==代数。图表。相邻IntMap。预IntSetx。到相邻IntMap

postSet(postSet)::订单(ToVertex(顶点)t) =>ToVertex(顶点)t->t->设置(ToVertex(顶点)t)来源 #

这个后置顶点的集合直接继承人.

postSet x==代数。图表。相邻地图。postSet(postSet)x。到相邻地图

后IntSet::到顶点吨~国际=>国际->t->IntSet(IntSet) 来源 #

这个后置(此处后IntSet)顶点的集合直接继承人.喜欢postSet(postSet)但专门用于图形顶点类型国际.

postIntSet x==代数。图表。相邻IntMap。后IntSetx。到相邻IntMap

邻接列表::订单(ToVertex(顶点)t) =>t->[(ToVertex(顶点)t、[ToVertex(顶点)t] )]来源 #

已排序的邻接列表图形的。

adjacencyList==代数。图表。相邻地图。邻接列表.到相邻地图

dfs森林::订单(ToVertex(顶点)t) =>t->森林(ToVertex(顶点)t)来源 #

计算深度优先搜索对应于从中的每个图形顶点搜索订单 订单。

dfsForest==代数。图表。相邻地图。dfs森林.to相邻地图

dfs预测自::订单(ToVertex(顶点)t) =>t->[ToVertex(顶点)t] ->森林(ToVertex(顶点)t)来源 #

计算深度优先搜索图的森林,从每个森林中搜索给定顶点的顺序。请注意,生成的林不会必须跨越整个图形,因为有些顶点可能无法到达。

dfsForestFrom==代数。图表。相邻地图。dfs预测自.to相邻地图

分布式系统::订单(到顶点t) =>t->[ToVertex(顶点)t] ->[ToVertex(顶点)t)来源 #

计算访问的顶点列表深度优先搜索在一个图,当按顺序从每个给定顶点搜索时。

dfs==代数。图表。相邻地图。数据流服务.to相邻地图

可达成的::订单(ToVertex(顶点)t) =>t->ToVertex(顶点)t->[ToVertex(顶点)t)来源 #

计算以下顶点的列表可达成的来自给定来源图中的顶点。结果列表中的顶点显示在深度-第一订单.

可达==代数。图表。相邻地图。可达成的.to相邻地图

top排序::订单(到顶点t) =>t->要么(循环(ToVertex(顶点)t) )[ToVertex(顶点)t)来源 #

计算拓扑排序图形或AM循环如果这个图是循环的。

topSort==代数。图表。相邻地图。top排序.to相邻地图

是非循环的::订单(ToVertex(顶点)t) =>t->布尔 来源 #

检查给定图形是否为无环的.

isAcyclic==代数。图表。相邻地图。是非循环的.to相邻地图

到相邻地图::订单(ToVertex(顶点)t) =>t->相邻地图(到顶点t)来源 #

将值转换为相应的相邻地图.

到相邻地图==折叠 空的 顶点 覆盖 连接

到相邻地图转换::订单(ToVertex(顶点)t) =>t->相邻地图(ToVertex(顶点)t)来源 #

将值转换为相应的相邻地图并将结果。

到相邻地图转换==折叠 空的 顶点 覆盖(轻弹 连接)

到相邻IntMap::ToVertex(顶点)t吨~国际=>t->相邻IntMap 来源 #

将值转换为相应的相邻IntMap.

到相邻IntMap==折叠 空的 顶点 覆盖 连接

到相邻IntMapTranspose::ToVertex(顶点)t吨~国际=>t->相邻IntMap 来源 #

将值转换为相应的相邻IntMap和转置结果。

到相邻IntMapTranspose==折叠 空的 顶点 覆盖(轻弹 连接)

是DfsForestOf::订单(ToVertex(顶点)t) =>森林(ToVertex(顶点)t) ->t->布尔 来源 #

检查给定的林是否是有效的深度优先搜索一片森林图表。

isDfsForestOf f==代数。图表。相邻地图。是DfsForestOff、。到相邻地图

排名靠前::订单(ToVertex(顶点)t) =>[ToVertex(顶点)t] ->t->布尔 来源 #

检查给定的顶点列表是否有效拓扑排序图表。

isTopSortOf vs==代数。图表。相邻地图。排名靠前与。到相邻地图

实例

实例详细信息
ToGraph(ToGraph) 相邻IntMap 来源 #

请参见代数。图表。相邻IntMap.

实例详细信息

定义于代数。图表。ToGraph(ToGraph)

方法

toGraph(目标图表)::相邻IntMap->图表(ToVertex(顶点) 相邻IntMap)来源 #

折叠::r->(ToVertex(顶点) 相邻IntMap->r)->(r->r->r)->相邻IntMap->第页来源 #

栈空::相邻IntMap->布尔 来源 #

hasVertex公司::ToVertex(顶点) 相邻IntMap->相邻IntMap->布尔 来源 #

hasEdge公司::ToVertex(顶点) 相邻IntMap->ToVertex(顶点) 相邻IntMap->相邻IntMap->布尔 来源 #

顶点计数::相邻IntMap->国际 来源 #

边缘计数::相邻IntMap->国际 来源 #

顶点列表::相邻IntMap-> [ToVertex(顶点) 相邻IntMap]来源 #

边缘列表::相邻IntMap-> [(ToVertex(顶点) 相邻IntMap,ToVertex(顶点) 相邻IntMap)]来源 #

顶点集::相邻IntMap->设置(ToVertex(顶点) 相邻IntMap)来源 #

顶点IntSet::相邻IntMap->IntSet(IntSet) 来源 #

边缘设置::相邻IntMap->设置(ToVertex(顶点) 相邻IntMap,ToVertex(顶点) 相邻IntMap)来源 #

预设::ToVertex(顶点) 相邻IntMap->相邻IntMap->设置(ToVertex(顶点) 相邻IntMap)来源 #

预IntSet::国际->相邻IntMap->IntSet(IntSet) 来源 #

postSet(postSet)::ToVertex(顶点) 相邻IntMap->相邻IntMap->设置(ToVertex(顶点) 相邻IntMap)来源 #

后IntSet::国际->相邻IntMap->IntSet(IntSet) 来源 #

邻接列表::相邻IntMap-> [(ToVertex(顶点) 相邻IntMap, [ToVertex(顶点) 相邻IntMap])]来源 #

dfs森林::相邻IntMap->森林(ToVertex(顶点) 相邻IntMap)来源 #

dfs预测自::相邻IntMap-> [ToVertex(顶点) 相邻IntMap] ->森林(ToVertex(顶点) 相邻IntMap)来源 #

数据流服务::相邻IntMap-> [到顶点 相邻IntMap] -> [ToVertex(顶点) 相邻IntMap]来源 #

可达成的::相邻IntMap->ToVertex(顶点) 相邻IntMap-> [ToVertex(顶点) 相邻IntMap]来源 #

top排序::相邻IntMap->要么(循环(ToVertex(顶点) 相邻IntMap)) [ToVertex(顶点) 相邻IntMap]来源 #

是非循环的::相邻IntMap->布尔 来源 #

到相邻地图::相邻IntMap->相邻地图(ToVertex(顶点) 相邻IntMap)来源 #

到相邻地图转换::相邻IntMap->相邻地图(ToVertex(顶点) 相邻IntMap)来源 #

到相邻IntMap::相邻IntMap->相邻IntMap 来源 #

到相邻IntMapTranspose::相邻IntMap->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点) 相邻IntMap) ->相邻IntMap->布尔 来源 #

排名靠前:: [到顶点 相邻IntMap] ->相邻IntMap->布尔 来源 #

订单a=>ToGraph(ToGraph)(相邻地图a) 来源 #

请参见代数。图表。相邻地图.

实例详细信息

定义于代数。图表。ToGraph(ToGraph)

关联的类型

类型 ToVertex(顶点)(相邻地图a)来源 #

方法

toGraph(目标图表)::相邻地图a->图表(ToVertex(顶点)(相邻地图a) )来源 #

折叠::r->(ToVertex(顶点)(相邻地图a) ->r)->(r->r->r)->(r->r->r)->相邻地图a->r来源 #

栈空::相邻地图a->布尔 来源 #

has顶点::ToVertex(顶点)(相邻地图a) ->相邻地图a->布尔 来源 #

hasEdge公司::ToVertex(顶点)(相邻地图a) ->ToVertex(顶点)(相邻地图a) ->相邻地图a->布尔 来源 #

顶点计数::相邻地图a->国际 来源 #

边缘计数::相邻地图a->国际 来源 #

顶点列表::相邻地图a->[ToVertex(顶点)(相邻地图a) ]来源 #

边缘列表::相邻地图a->[(到顶点(相邻地图a) ,ToVertex(顶点)(相邻地图a) )]来源 #

顶点集::相邻地图a->设置(ToVertex(顶点)(相邻地图a) )来源 #

顶点IntSet::相邻地图a->IntSet(IntSet) 来源 #

边缘设置::相邻地图a->设置(ToVertex(顶点)(相邻地图a) ,ToVertex(顶点)(相邻地图a) )来源 #

预设::ToVertex(顶点)(相邻地图a) ->相邻地图a->设置(ToVertex(顶点)(相邻地图a) )来源 #

预IntSet::国际->相邻地图a->IntSet(IntSet) 来源 #

postSet(postSet)::ToVertex(顶点)(相邻地图a) ->相邻地图a->设置(ToVertex(顶点)(相邻地图a) )来源 #

后IntSet::国际->相邻地图a->IntSet(IntSet) 来源 #

邻接列表::相邻地图a->[(ToVertex(顶点)(相邻地图a) [到顶点(相邻地图a) ])]来源 #

dfs森林::相邻地图a->森林(ToVertex(顶点)(相邻地图a) )来源 #

dfs预测自::相邻地图a->[ToVertex(顶点)(相邻地图a) ]->森林(ToVertex(顶点)(相邻地图a) )来源 #

数据流服务::相邻地图a->[ToVertex(顶点)(相邻地图a) ]->[到顶点(相邻地图a) ]来源 #

可达成的::相邻地图a->ToVertex(顶点)(相邻地图a) ->[ToVertex(顶点)(相邻地图a) ]来源 #

top排序::相邻地图a->要么(循环(ToVertex(顶点)(相邻地图a) ))[ToVertex(顶点)(相邻地图a) ]来源 #

是非循环的::相邻地图a->布尔 来源 #

到相邻地图::相邻地图a->相邻地图(到顶点(相邻地图a) )来源 #

到相邻地图转换::相邻地图a->相邻地图(ToVertex(顶点)(相邻地图a) )来源 #

到相邻IntMap::相邻地图a->相邻IntMap 来源 #

到相邻IntMapTranspose::相邻地图a->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点)(相邻地图a) )->相邻地图a->布尔 来源 #

排名靠前:: [ToVertex(顶点)(相邻地图a) ]->相邻地图a->布尔 来源 #

订单a=>ToGraph(ToGraph)(图表a) 来源 #

请参见代数。图表.

实例详细信息

定义于代数。图表。ToGraph(ToGraph)

关联的类型

类型 ToVertex(顶点)(图表a)来源 #

方法

toGraph(目标图表)::图表a->图表(ToVertex(顶点)(图表a) )来源 #

折叠::r->(ToVertex(顶点)(图表a) ->r)->(r->r->r)->(r->r->r)->图表a->r来源 #

栈空::图表a->布尔 来源 #

hasVertex公司::ToVertex(顶点)(图表a) ->图表a->布尔 来源 #

hasEdge公司::ToVertex(顶点)(图表a) ->ToVertex(顶点)(图表a) ->图表a->布尔 来源 #

顶点计数::图表a->国际 来源 #

边缘计数::图表a->国际 来源 #

顶点列表::图表a->[ToVertex(顶点)(图表a) ]来源 #

边缘列表::图表a->[(到顶点(图表a) ,ToVertex(顶点)(图表a) )]来源 #

顶点集::图表a->设置(ToVertex(顶点)(图表a) )来源 #

顶点IntSet::图表a->IntSet(IntSet) 来源 #

边缘设置::图表a->设置(ToVertex(顶点)(图表a) ,ToVertex(顶点)(图表a) )来源 #

预设::ToVertex(顶点)(图表a) ->图表a->设置(ToVertex(顶点)(图表a) )来源 #

预IntSet::国际->图表a->IntSet(IntSet) 来源 #

postSet(postSet)::ToVertex(顶点)(图表a) ->图表a->设置(ToVertex(顶点)(图表a) )来源 #

后IntSet::国际->图表a->IntSet(IntSet) 来源 #

邻接列表::图表a->[(到顶点(图表a) [ToVertex(顶点)(图表a) ])]来源 #

dfs森林::图表a->森林(ToVertex(顶点)(图表a) )来源 #

dfs预测自::图表a->[ToVertex(顶点)(图表a) ]->森林(ToVertex(顶点)(图表a) )来源 #

数据流服务::图表a->[ToVertex(顶点)(图表a) ]->[ToVertex(顶点)(图表a) ]来源 #

可达成的::图表a->ToVertex(顶点)(图表a) ->[ToVertex(顶点)(图表a) ]来源 #

top排序::图表a->要么(循环(到顶点(图表a) ))[到顶点(图表a) ]来源 #

是非循环的::图表a->布尔 来源 #

到相邻地图::图表a->相邻地图(ToVertex(顶点)(图表a) )来源 #

到相邻地图转换::图表a->相邻地图(ToVertex(顶点)(图表a) )来源 #

到相邻IntMap::图表a->相邻IntMap 来源 #

到相邻IntMapTranspose::图表a->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点)(图表a) )->图表a->布尔 来源 #

排名靠前:: [ToVertex(顶点)(图表a) ]->图表a->布尔 来源 #

订单a=>ToGraph(ToGraph)(相邻地图a) 来源 #

请参见代数。图表。非空。相邻地图.

实例详细信息

定义于代数。图表。ToGraph(到图形)

关联的类型

类型 到顶点(相邻地图a)来源 #

方法

toGraph(目标图表)::相邻地图a->图表(ToVertex(顶点)(相邻地图a) )来源 #

折叠::r->(ToVertex(顶点)(相邻地图a) ->r)->(r->r->r)->(r->r->r)->相邻地图a->r来源 #

栈空::相邻地图a->布尔 来源 #

hasVertex公司::ToVertex(顶点)(相邻地图a) ->相邻地图a->布尔 来源 #

hasEdge公司::ToVertex(顶点)(相邻地图a) ->ToVertex(顶点)(相邻地图a) ->相邻地图a->布尔 来源 #

顶点计数::相邻地图a->国际 来源 #

边缘计数::相邻地图a->国际 来源 #

顶点列表::相邻地图a->[ToVertex(顶点)(相邻地图a) ]来源 #

边缘列表::相邻地图a->[(ToVertex(顶点)(相邻地图a) ,ToVertex(顶点)(相邻地图a) )]来源 #

顶点集::相邻地图a->设置(ToVertex(顶点)(相邻地图a) )来源 #

顶点IntSet::相邻地图a->IntSet(IntSet) 来源 #

边缘设置::相邻地图a->设置(ToVertex(顶点)(相邻地图a) ,ToVertex(顶点)(相邻地图a) )来源 #

预设::ToVertex(顶点)(相邻地图a) ->相邻地图a->设置(ToVertex(顶点)(相邻地图a) )来源 #

预IntSet::国际->相邻地图a->IntSet(IntSet) 来源 #

postSet(postSet)::ToVertex(顶点)(相邻地图a) ->相邻地图a->设置(到顶点(相邻地图a) )来源 #

后IntSet::国际->相邻地图a->IntSet(IntSet) 来源 #

邻接列表::相邻地图a->[(ToVertex(顶点)(相邻地图a) [ToVertex(顶点)(相邻地图a) ])]来源 #

dfs森林::相邻地图a->森林(ToVertex(顶点)(相邻地图a) )来源 #

dfsForestFrom(dfsForestFrom)::相邻地图a->[ToVertex(顶点)(相邻地图a) ]->森林(ToVertex(顶点)(相邻地图a) )来源 #

数据流服务::相邻地图a->[ToVertex(顶点)(相邻地图a) ]->[ToVertex(顶点)(相邻地图a) ]来源 #

可达成的::相邻地图a->到顶点(相邻地图a) ->[ToVertex(顶点)(相邻地图a) ]来源 #

top排序::相邻地图a->要么(循环(ToVertex(顶点)(相邻地图a) ))[ToVertex(顶点)(相邻地图a) ]来源 #

是非循环的::相邻地图a->布尔 来源 #

到相邻地图::相邻地图a->相邻地图0(ToVertex(顶点)(相邻地图a) )来源 #

到相邻地图转换::相邻地图a->相邻Map0(ToVertex(顶点)(相邻地图a) )来源 #

到相邻IntMap::相邻地图a->相邻IntMap 来源 #

到相邻IntMapTranspose::相邻地图a->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点)(相邻地图a) )->相邻地图a->布尔 来源 #

排名靠前:: [ToVertex(顶点)(相邻地图a) ]->相邻地图a->布尔 来源 #

订单a=>ToGraph(ToGraph)(关系a) 来源 # 
实例详细信息

定义于代数。图表。关系

关联的类型

类型 ToVertex(顶点)(关系a)来源 #

方法

toGraph(目标图表)::关系a->图表(ToVertex(顶点)(关系a) )来源 #

折叠::r->(ToVertex(顶点)(关系a) ->r)->(r->r->r)->(r->r->r)->关系a->r来源 #

栈空::关系a->布尔 来源 #

hasVertex公司::ToVertex(顶点)(关系a) ->关系a->布尔 来源 #

hasEdge公司::ToVertex(顶点)(关系a) ->到顶点(关系a) ->关系a->布尔 来源 #

顶点计数::关系a->国际 来源 #

边缘计数::关系a->国际 来源 #

顶点列表::关系a->[ToVertex(顶点)(关系a) ]来源 #

边缘列表::关系a->[(ToVertex(顶点)(关系a) ,ToVertex(顶点)(关系a) )]来源 #

顶点集::关系a->设置(ToVertex(顶点)(关系a) )来源 #

顶点IntSet::关系a->IntSet(IntSet) 来源 #

边缘设置::关系a->设置(ToVertex(顶点)(关系a) ,ToVertex(顶点)(关系a) )来源 #

预设::ToVertex(顶点)(关系a) ->关系a->设置(ToVertex(顶点)(关系a) )来源 #

预IntSet::国际->关系a->IntSet(内部集) 来源 #

后置集::到顶点(关系a) ->关系a->设置(ToVertex(顶点)(关系a) )来源 #

后IntSet::国际->关系a->IntSet(IntSet) 来源 #

邻接列表::关系a->[(ToVertex(顶点)(关系a) [ToVertex(顶点)(关系a) ])]来源 #

dfs森林::关系a->森林(ToVertex(顶点)(关系a) )来源 #

dfs预测自::关系a->[ToVertex(顶点)(关系a) ]->森林(ToVertex(顶点)(关系a) )来源 #

数据流服务::关系a->[ToVertex(顶点)(关系a) ]->[ToVertex(顶点)(关系a) ]来源 #

可达成的::关系a->到顶点(关系a) ->[ToVertex(顶点)(关系a) ]来源 #

top排序::关系a->要么(循环(ToVertex(顶点)(关系a) ))[ToVertex(顶点)(关系a) ]来源 #

是非循环的::关系a->布尔 来源 #

到相邻地图::关系a->相邻地图(ToVertex(顶点)(关系a) )来源 #

到相邻地图转换::关系a->相邻地图(ToVertex(顶点)(关系a) )来源 #

到相邻IntMap::关系a->相邻IntMap 来源 #

到相邻IntMapTranspose::关系a->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点)(关系a) )->关系a->布尔 来源 #

是最热门的:: [ToVertex(顶点)(关系a) ]->关系a->布尔 来源 #

订单a=>ToGraph(ToGraph)(关系a) 来源 #

通过定义来自对称ToGraph(ToGraph)的实例关系.

实例详细信息

定义于代数。图表。关系。对称的

关联的类型

类型 ToVertex(顶点)(关系a)来源 #

方法

toGraph(目标图表)::关系a->图表(ToVertex(顶点)(关系a) )来源 #

折叠::r->(ToVertex(顶点)(关系a) ->r)->(r->r->r)->(r->r->r)->关系a->r来源 #

栈空::关系a->布尔 来源 #

hasVertex公司::ToVertex(顶点)(关系a) ->关系a->布尔 来源 #

hasEdge公司::ToVertex(顶点)(关系a) ->ToVertex(顶点)(关系a) ->关系a->布尔 来源 #

顶点计数::关系a->国际 来源 #

边缘计数::关系a->国际 来源 #

顶点列表::关系a->[ToVertex(顶点)(关系a) ]来源 #

边缘列表::关系a->[(到顶点(关系a) ,ToVertex(顶点)(关系a) )]来源 #

顶点集::关系a->设置(ToVertex(顶点)(关系a) )来源 #

顶点IntSet::关系a->IntSet(IntSet) 来源 #

边缘设置::关系a->设置(ToVertex(顶点)(关系a) ,ToVertex(顶点)(关系a) )来源 #

预设::ToVertex(顶点)(关系a) ->关系a->设置(ToVertex(顶点)(关系a) )来源 #

预IntSet::国际->关系a->IntSet(IntSet) 来源 #

postSet(postSet)::ToVertex(顶点)(关系a) ->关系a->设置(ToVertex(顶点)(关系a) )来源 #

后IntSet::国际->关系a->IntSet(内部集) 来源 #

邻接列表::关系a->[(ToVertex(顶点)(关系a) [ToVertex(顶点)(关系a) ])]来源 #

dfs森林::关系a->森林(ToVertex(顶点)(关系a) )来源 #

dfs预测自::关系a->[ToVertex(顶点)(关系a) ]->森林(ToVertex(顶点)(关系a) )来源 #

数据流服务::关系a->[ToVertex(顶点)(关系a) ]->[ToVertex(顶点)(关系a) ]来源 #

可达成的::关系a->ToVertex(顶点)(关系a) ->[ToVertex(顶点)(关系a) ]来源 #

top排序::关系a->要么(循环(ToVertex(顶点)(关系a) ))[ToVertex(顶点)(关系a) ]来源 #

是非循环的::关系a->布尔 来源 #

到相邻地图::关系a->相邻地图(ToVertex(顶点)(关系a) )来源 #

到相邻地图转换::关系a->相邻地图(ToVertex(顶点)(关系a) )来源 #

到相邻IntMap::关系a->相邻IntMap 来源 #

到相邻IntMapTranspose::关系a->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点)(关系a) )->关系a->布尔 来源 #

排名靠前:: [ToVertex(顶点)(关系a) ]->关系a->布尔 来源 #

ToGraph(ToGraph)(图表a) 来源 # 
实例详细信息

定义于代数。图表。非空

关联的类型

类型 到顶点(图表a)来源 #

方法

到图表::图表a->图0(ToVertex(顶点)(图表a) )来源 #

折叠::r->(ToVertex(顶点)(图表a) ->r)->(r->r->r)->(r->r->r)->图表a->r来源 #

栈空::图表a->布尔 来源 #

hasVertex公司::ToVertex(顶点)(图表a) ->图表a->布尔 来源 #

hasEdge公司::ToVertex(顶点)(图表a) ->ToVertex(顶点)(图表a) ->图表a->布尔 来源 #

顶点计数::图表a->国际 来源 #

边缘计数::图表a->国际 来源 #

顶点列表::图表a->[到顶点(图表a) ]来源 #

边缘列表::图表a->[(ToVertex(顶点)(图表a) ,ToVertex(顶点)(图表a) )]来源 #

顶点集::图表a->设置(ToVertex(顶点)(图表a) )来源 #

顶点IntSet::图表a->IntSet(IntSet) 来源 #

边缘设置::图表a->设置(ToVertex(顶点)(图表a) ,ToVertex(顶点)(图表a) )来源 #

预设::到顶点(图表a) ->图表a->设置(ToVertex(顶点)(图表a) )来源 #

预IntSet::国际->图表a->IntSet(IntSet) 来源 #

postSet(postSet)::ToVertex(顶点)(图表a) ->图表a->设置(ToVertex(顶点)(图表a) )来源 #

后IntSet::国际->图表a->IntSet(IntSet) 来源 #

邻接列表::图表a->[(ToVertex(顶点)(图表a) [ToVertex(顶点)(图表a) ])]来源 #

dfs森林::图表a->森林(到顶点(图表a) )来源 #

dfs预测自::图表a->[ToVertex(顶点)(图表a) ]->森林(ToVertex(顶点)(图表a) )来源 #

数据流服务::图表a->[ToVertex(顶点)(图表a) ]->[ToVertex(顶点)(图表a) ]来源 #

可达成的::图表a->ToVertex(顶点)(图表a) ->[ToVertex(顶点)(图表a) ]来源 #

top排序::图表a->要么(循环(ToVertex(顶点)(图表a) ))[ToVertex(顶点)(图表a) ]来源 #

是非循环的::图表a->布尔 来源 #

到相邻地图::图表a->相邻地图(ToVertex(顶点)(图表a) )来源 #

到相邻地图转换::图表a->相邻地图(ToVertex(顶点)(图表a) )来源 #

到相邻IntMap::图表a->相邻IntMap 来源 #

到相邻IntMapTranspose::图表a->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点)(图表a) )->图表a->布尔 来源 #

是最热门的:: [ToVertex(顶点)(图表a) ]->图表a->布尔 来源 #

(等式e、,单体e、,订单a) =>ToGraph(ToGraph)(相邻地图e a) 来源 #

通过定义骨架ToGraph(ToGraph)的实例相邻地图.

实例详细信息

定义于代数。图表。贴标签于。相邻地图

关联的类型

类型 ToVertex(顶点)(相邻地图e a)来源 #

方法

toGraph(目标图表)::相邻地图e a->图表(到顶点(相邻地图e a))来源 #

折叠::r->(ToVertex(顶点)(相邻地图e a)->r)->(r->r->r)->(r->r->r)->相邻地图e a->r来源 #

栈空::相邻地图e a->布尔 来源 #

hasVertex公司::ToVertex(顶点)(相邻地图e a)->相邻地图e a->布尔 来源 #

hasEdge公司::ToVertex(顶点)(相邻地图e a)->ToVertex(顶点)(相邻地图e a)->相邻地图e a->布尔 来源 #

顶点计数::相邻地图e a->国际 来源 #

边缘计数::相邻地图e a->国际 来源 #

顶点列表::相邻地图e a->[ToVertex(顶点)(相邻地图e a)]来源 #

边缘列表::相邻地图e a->[(ToVertex(顶点)(相邻地图e a),ToVertex(顶点)(相邻地图e a))]来源 #

顶点集::相邻地图e a->设置(ToVertex(顶点)(相邻地图e a))来源 #

顶点IntSet::相邻地图e a->IntSet(IntSet) 来源 #

边缘设置::相邻地图e a->设置(ToVertex(顶点)(相邻地图e a)中,ToVertex(顶点)(相邻地图e a))来源 #

预设::ToVertex(顶点)(相邻地图e a)->相邻地图e a->设置(ToVertex(顶点)(相邻地图e a))来源 #

预IntSet::国际->相邻地图e a->IntSet(IntSet) 来源 #

postSet(postSet)::ToVertex(顶点)(相邻地图e a)->相邻地图e a->设置(ToVertex(顶点)(相邻地图e a))来源 #

后IntSet::国际->相邻地图e a->IntSet(IntSet) 来源 #

邻接列表::相邻地图e a->[(ToVertex(顶点)(相邻地图e a)[ToVertex(顶点)(相邻地图e a)])]来源 #

dfs森林::相邻地图e a->森林(ToVertex(顶点)(相邻地图e a))来源 #

dfs预测自::相邻地图e a->[ToVertex(顶点)(相邻地图e a)]->森林(ToVertex(顶点)(相邻地图e a))来源 #

数据流服务::相邻地图e a->[ToVertex(顶点)(相邻地图e a)]->[到顶点(相邻地图e a)]来源 #

可达成的::相邻地图e a->ToVertex(顶点)(相邻地图e a)->[ToVertex(顶点)(相邻地图e a)]来源 #

top排序::相邻地图e a->要么(循环(ToVertex(顶点)(相邻地图e a))[ToVertex(顶点)(相邻地图e a)]来源 #

is非循环::相邻地图e a->布尔 来源 #

到相邻地图::相邻地图e a->相邻Map0(ToVertex(顶点)(相邻地图e a))来源 #

到相邻地图转换::相邻地图e a->相邻Map0(ToVertex(顶点)(相邻地图e a))来源 #

到相邻IntMap::相邻地图e a->相邻IntMap 来源 #

到相邻的IntMapTranspose::相邻地图e a->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点)(相邻地图e a))->相邻地图e a->布尔 来源 #

排名靠前:: [ToVertex(顶点)(相邻地图e a)]->相邻地图e a->布尔 来源 #

(等式e、,单体e、,订单a) =>ToGraph(ToGraph)(图表e a) 来源 # 
实例详细信息

定义于代数。图表。贴标签于

关联的类型

类型 ToVertex(顶点)(图表e a)来源 #

方法

toGraph(目标图表)::图表e a->图0(ToVertex(顶点)(图表e a))来源 #

折叠::r->(ToVertex(顶点)(图表e a)->r)->(r->r->r)->(r->r->r)->图表e a->r来源 #

栈空::图表e a->布尔 来源 #

hasVertex公司::ToVertex(顶点)(图表e a)->图表e a->布尔 来源 #

hasEdge公司::ToVertex(顶点)(图表e a)->ToVertex(顶点)(图表e a)->图表e a->布尔 来源 #

顶点计数::图表e a->国际 来源 #

边缘计数::图表e a->国际 来源 #

顶点列表::图表e a->[ToVertex(顶点)(图表e a)]来源 #

边缘列表::图表e a->[(ToVertex(顶点)(图表e a),ToVertex(顶点)(图表e a))]来源 #

顶点集::图表e a->设置(ToVertex(顶点)(图表e a))来源 #

顶点IntSet::图表e a->IntSet(内部集) 来源 #

边缘设置::图表e a->设置(ToVertex(顶点)(图表e a),ToVertex(顶点)(图表e a))来源 #

预设::ToVertex(顶点)(图表e a)->图表e a->设置(ToVertex(顶点)(图表e a))来源 #

预IntSet::国际->图表e a->IntSet(IntSet) 来源 #

postSet(postSet)::ToVertex(顶点)(图表e a)->图表e a->设置(ToVertex(顶点)(图表e a))来源 #

后IntSet::国际->图表e a->IntSet(IntSet) 来源 #

邻接列表::图表e a->[(ToVertex(顶点)(图表e a)[ToVertex(顶点)(图表e a)])]来源 #

dfs森林::图表e a->森林(ToVertex(顶点)(图表e a))来源 #

dfs预测自::图表e a->[ToVertex(顶点)(图表e a)]->森林(ToVertex(顶点)(图表e a))来源 #

数据流服务::图表e a->[ToVertex(顶点)(图表e a)]->[ToVertex(顶点)(图表e a)]来源 #

可达成的::图表e a->ToVertex(顶点)(图表e a)->[ToVertex(顶点)(图表e a)]来源 #

top排序::图表e a->要么(循环(ToVertex(顶点)(图表e a))[ToVertex(顶点)(图表e a)]来源 #

是非循环的::图表e a->布尔 来源 #

到相邻地图::图表e a->相邻地图(到顶点(图表e a))来源 #

到相邻地图转换::图表e a->相邻地图(ToVertex(顶点)(图表e a))来源 #

到相邻IntMap::图表e a->相邻IntMap 来源 #

到相邻IntMapTranspose::图表e a->相邻IntMap 来源 #

是DfsForestOf::森林(ToVertex(顶点)(图表e a))->图表e a->布尔 来源 #

排名靠前:: [ToVertex(顶点)(图表e a)]->图表e a->布尔 来源 #

派生函数

相邻地图::ToGraph(ToGraph)t=>订单(ToVertex(顶点)t) =>t->地图(ToVertex(顶点)t)(设置(ToVertex(顶点)t) )来源 #

这个邻接图图的:每个顶点都与它的一组顶点相关联直接继承人.

adjacencyMap==代数。图表。相邻地图。相邻地图.到相邻地图

相邻IntMap:: (ToGraph(ToGraph)t、,ToVertex(顶点)t吨~国际)=>t->国际地图 IntSet(IntSet) 来源 #

这个邻接图图的:每个顶点都与它的一组顶点相关联直接继承人.喜欢相邻地图但专门用于图形顶点类型国际.

adjacencyIntMap==代数。图表。相邻IntMap。相邻IntMap.到相邻IntMap

相邻映射转置:: (ToGraph(ToGraph)t、,订单(ToVertex(顶点)t) )=>t->地图(ToVertex(顶点)t)(设置(ToVertex(顶点)t) )来源 #

被调换的邻接图图的:每个顶点都与一套直接前辈.

adjacencyMapTranspose==代数。图表。相邻地图。相邻地图.到相邻地图转换

邻接IntMapTranspose:: (ToGraph(到图形)t、,ToVertex(顶点)t吨~国际)=>t->国际地图 IntSet(IntSet) 来源 #

被调换的邻接图图的:每个顶点都与一套直接前辈.喜欢相邻映射转置但是专门用于具有类型顶点的图国际.

adjacencyIntMapTranspose==代数。图表。相邻IntMap。相邻IntMap.到相邻IntMapTranspose