有一种方法可以在一系列顶点删除后保留或跟踪顶点对应关系

时间:2018-02-28 18:07:58

标签: python igraph

在python-igraph中,在我看来,当你从图形中删除顶点时,顶点会被重命名为使用从0到try{ JSONObject obj = new JSONObject(); obj.put("machineName",machineName); obj.put("appName", appName); obj.put("startTime", formattedCurrentDate); obj.put("portID",portID); obj.put("ani",ani); obj.put("dnis", dnis); obj.put("ctiCallID", ctiCallID); String strobj = obj.toString(); String uri = wsUri+"/StartCall?"; HttpClient client = new HttpClient(); client.getParams().setConnectionManagerTimeout(1300); client.getParams().setSoTimeout(13000); PostMethod method = new PostMethod(uri); method.addRequestHeader("Content-Type", "application/x-www-form-urlencoded"); method.setQueryString("parameter="+strobj ); int statusCode = client.executeMethod(method); byte[] responseBody = method.getResponseBody(); output = new String(responseBody); } 的连续顶点。

要了解我的意思,请考虑以下程序:

n

我可以自己动手簿记,但这已经在图书馆得到了支持吗?基本上,我想知道一系列顶点删除之后,新重命名的顶点在原始图形中对应的内容(就像上面的代码片段一样)。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用name顶点属性来跟踪对应关系。基本上,如果为顶点指定名称,则可以在以后igraph要求数字顶点ID的位置使用名称:

>>> g.vs["name"] = ["V{0}".format(i) for i in range(4)]
>>> g.vs[g.neighbors("V2")]["name"]
['V0', 'V1', 'V3']
>>> g.delete_vertices(["V1"])
>>> g.vs[g.neighbors("V2")]["name"]
['V0', 'V3']

name属性在幕后编入索引,因此按名称查找顶点应具有与典型Python字典查找相同的时间复杂度。

对于它的价值,顶点重新编号是底层C库的一个属性,所以Python接口可以做的事情并不多。