Code Duplication    Length = 19-26 lines in 2 locations

pyalgs/data_structures/graphs/graph.py 2 locations

@@ 25-50 (lines=26) @@
22
        self.adjList[v].add(w)
23
        self.adjList[w].add(v)
24
25
26
class Digraph(object):
27
    V = 0
28
    adjList = None
29
30
    def __init__(self, V):
31
        self.V = V
32
        self.adjList = [None] * V
33
        for v in range(V):
34
            self.adjList[v] = Bag()
35
36
    def vertex_count(self):
37
        return self.V
38
39
    def adj(self, v):
40
        return self.adjList[v].iterate()
41
42
    def add_edge(self, v, w):
43
        self.adjList[v].add(w)
44
45
    def reverse(self):
46
        g = Digraph(self.V)
47
        for v in range(self.V):
48
            for w in self.adjList[v].iterate():
49
                g.add_edge(w, v)
50
51
        return g
52
53
@@ 4-22 (lines=19) @@
1
from pyalgs.algorithms.commons import util
2
from pyalgs.data_structures.commons.bag import Bag
3
4
5
class Graph(object):
6
    V = 0
7
    adjList = None
8
9
    def __init__(self, V):
10
        self.V = V
11
        self.adjList = [None] * V
12
        for v in range(V):
13
            self.adjList[v] = Bag()
14
15
    def vertex_count(self):
16
        return self.V
17
18
    def adj(self, v):
19
        return self.adjList[v].iterate()
20
21
    def add_edge(self, v, w):
22
        self.adjList[v].add(w)
23
        self.adjList[w].add(v)
24
25