Digraph is an implementation of digraphs which supports
adding edges and reversal
Definition at line 5 of file Digraph.py.
◆ __init__()
| Digraph.Digraph.__init__ |
( |
| self, |
|
|
| V = 0, |
|
|
| fn = '' ) |
Definition at line 9 of file Digraph.py.
9 def __init__(self, V=0, fn=''):
10 self.adjTable_ = {}
11 self.E = 0
12 if fn:
13 self.fromFile(fn)
14 else:
15 self.V = V
16 for i in range(V):
17 self.adjTable_[i] = []
18
◆ __str__()
| Digraph.Digraph.__str__ |
( |
| self | ) |
|
Definition at line 62 of file Digraph.py.
62 def __str__(self):
63 lines = ['Digraph. V: '+ str(self.V) + ' E: ' + str(self.E)]
64 for v in range(self.V):
65 for w in self.adj(v):
66 lines.append('%d -> %d' % (v, w))
67
68 return '\n'.join(lines)
◆ addEdge()
| Digraph.Digraph.addEdge |
( |
| self, |
|
|
| v, |
|
|
| w ) |
Definition at line 45 of file Digraph.py.
45 def addEdge(self, v, w):
46 assert v < self.V
47 assert w < self.V
48 self.adjTable_[v].append(w)
49 self.E += 1
50
◆ adj()
| Digraph.Digraph.adj |
( |
| self, |
|
|
| v ) |
Definition at line 51 of file Digraph.py.
51 def adj(self, v):
52 assert v < self.V
53 return self.adjTable_[v]
54
◆ fromFile()
| Digraph.Digraph.fromFile |
( |
| self, |
|
|
| fn ) |
Definition at line 19 of file Digraph.py.
19 def fromFile(self, fn):
20 state = 'START'
21 with open(fn, 'r') as fh:
22 for ll in fh:
23 l = ll.strip()
24 if not l or l.startswith('#'): continue
25
26 if state == 'START':
27 self.V = int(l.strip())
28 for i in range(self.V):
29 self.adjTable_[i] = list()
30 state = 'NE'
31 continue
32 if state == 'NE':
33
34 state = 'EDGES'
35 continue
36
37 if state == 'EDGES':
38 toks = l.strip().
split()
39 assert len(toks) == 2
40 v = int(toks[0])
41 w = int(toks[1])
42 self.addEdge(v, w)
43 continue
44
std::vector< std::string > split(const std::string &s, const std::string &t=":")
◆ reverse()
| Digraph.Digraph.reverse |
( |
| self | ) |
|
Definition at line 55 of file Digraph.py.
55 def reverse(self):
57 for v in range(self.V):
58 for w in self.adj(v):
59 R.addEdge(w, v)
60 return R
61
◆ adjTable_
| dict Digraph.Digraph.adjTable_ = {} |
| int Digraph.Digraph.E = 0 |
The documentation for this class was generated from the following file: