| Total Complexity | 9 |
| Total Lines | 27 |
| Duplicated Lines | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | from pyalgs.algorithms.commons import util |
||
| 87 | class EdgeWeightedGraph(object): |
||
| 88 | adjList = None |
||
| 89 | V = 0 |
||
| 90 | |||
| 91 | def __init__(self, vertex_count): |
||
| 92 | self.V = vertex_count |
||
| 93 | self.adjList = [None] * vertex_count |
||
| 94 | for v in range(vertex_count): |
||
| 95 | self.adjList[v] = Bag() |
||
| 96 | |||
| 97 | def add_edge(self, edge): |
||
| 98 | v = edge.start() |
||
| 99 | w = edge.end() |
||
| 100 | self.adjList[v].add(edge) |
||
| 101 | self.adjList[w].add(edge) |
||
| 102 | |||
| 103 | def adj(self, v): |
||
| 104 | return self.adjList[v].iterate() |
||
| 105 | |||
| 106 | def vertex_count(self): |
||
| 107 | return self.V |
||
| 108 | |||
| 109 | def edges(self): |
||
| 110 | for v in range(self.V): |
||
| 111 | for e in self.adj(v): |
||
| 112 | if e.start() == v: |
||
| 113 | yield e |
||
| 114 | |||
| 115 |