Как быстро найти 100 000 краев? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть сетевой объект DirectedGraph G, который содержит около 2,0000 вершин и 120 000 ребер в нем.

Я хотел бы найти список ребер и проверить, какой край заканчивается в вершине 'deny'. (О, вершины графа - все английское слово.)

Я просто тупо поступаю следующим образом, но это никогда не прекращается ... Я жду более 10 минут с самого начала.

Как я мог выполнить это быстро?

 for i in range(len(G.edges())):
    if list(G.edges())[i][1] == 'deny':
        print(list(G.edges())[i])

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете иметь словарь <end vertex, (start vertex, end)>.Однако это зависит от того, как часто эти операции будут выполняться.

Если это всего лишь однократная операция, то я бы просто зациклил свой список, иначе реализовал бы словарь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...