在Java中创建图的数组(随时间变化)

史蒂夫

我是Java的新手,正在使用图形。我有一个随时间变化的图形(例如,同一图形在不同时间实例中的5个快照),我需要在每个图形上计算一些基本的网络指标,例如密度,大小,中心度等。我想知道我可以使用哪些基本数据结构来存储和执行每个图。我尝试使用邻接矩阵,但是节点大小太大且动态,这导致效率低下。我遇到了几个库,特别是JgraphT来保存无向图

    UndirectedGraph<String, DefaultEdge> G =
          new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);

但这是一张图。有没有一种方法可以创建这些无向图的数组,或者我缺少其他任何方法来存储时间演化图?

约书亚·奥马达丹(Joshua O'Madadhain)

一些选择:

(1)您可以像创建任何其他对象一样创建图的数组(或列表或集合等)。如果所有时间步长都容易放入内存中(例如100个时间步长,每个时间步长为1000个节点/边缘),那么这应该可以正常工作。这是一个使用JUNG的示例:

List<Graph<V, E>> graphList = new ArrayList<>(); // Java 7 syntax
Graph<V, E> graph = new DirectedSparseGraph<V, E>();
// populate 'graph'
graphList.add(graph);

(2)如果每个图中的节点都相同(即,只是边缘在变化),则将节点存储一次,并存储一组边缘集的列表,每个时间步长一组。

(3)如果整个图是相对静态的,则可以存储原始图,然后存储每个时间步的增量(添加/删除的节点或边)。这可以大大节省空间,但是需要重构步骤1-n才能看到时间n + 1的状态。

(4)最后,您可以使用一个图,用出现的间隔注释每个节点/边缘,并在您想对图应用算法时随时应用过滤器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

随时间变化的数组

来自分类Dev

R 中随时间变化的动画条形图

来自分类Dev

如何在R中创建sankey图,以显示同一节点随时间的变化?

来自分类Dev

如何绘制随时间变化的图?

来自分类Dev

如何创建个人累积贡献随时间变化的堆积面积图?

来自分类Dev

Java输出值随时间的变化

来自分类Dev

识别R中随时间变化的变量

来自分类Dev

带有Jupyter的Python Matplotlib上随时间变化的图

来自分类Dev

绘制随时间变化的离散变量(围巾图)

来自分类Dev

带有Jupyter的Python Matplotlib上随时间变化的图

来自分类Dev

动态图随时间变化吗?VBA可能吗?

来自分类Dev

人口随时间变化

来自分类Dev

Python中随时间变化的带通滤波器

来自分类Dev

scala spark count 在 DataFrame 中随时间变化的次数

来自分类Dev

DBpedia结果随时间变化

来自分类Dev

当包含随时间变化的协变量时,使用SAS绘制危险图

来自分类Dev

R-在较小值范围内随时间变化的观测图频率

来自分类Dev

给定numpy ndarray的Seaborn小提琴图随时间变化

来自分类Dev

当包含随时间变化的协变量时,使用SAS绘制危险图

来自分类Dev

创建Excel图表,显示随时间变化的百分比(多个行业)

来自分类Dev

绘制随时间变化的熊猫时间序列列中唯一事件的累计数量

来自分类Dev

绘制随时间变化的风速和风向

来自分类Dev

SAS计算值随时间变化的次数

来自分类Dev

随时间变化/绝对数字

来自分类Dev

如何使svg颜色随时间变化

来自分类Dev

绘制随时间变化的频率分布(堆叠)

来自分类Dev

如何合并随时间变化的变量[R]

来自分类Dev

随时间变化的颤振设计

来自分类Dev

随时间变化的颤振设计

Related 相关文章

热门标签

归档