def randomGr(V: int = 10, E: int = 20) -> Graph: gr = Graph(V) i = E while i > 0: v = randoms.r_int(V - 1) w = randoms.r_int(V - 1) # if v-w not exist, add edj if w not in gr.adjlist(v) and v != w: gr.addEdge(v, w) i -= 1 return gr
def dfs(self, G: Graph, s: int): queue = deque() self.marked[s] = True queue.append(s) while queue: v = queue.popleft() for w in G.adjlist(v): if not self.marked[w]: self.edgeTo[w] = v self.marked[w] = True queue.append(w)
def dfs(self, G: Graph, s: int): dot_node(s) queue = deque() self.marked[s] = True queue.append(s) while queue: v = queue.popleft() for w in G.adjlist(v): if not self.marked[w]: self.marked[w] = True self.count += 1 queue.append(w) dot_node(w)
def dfs(self, gr: Graph, v: int): self.marked[v] = True for w in gr.adjlist(v): if not self.rmarked(w): self.edgeTo[w] = v self.dfs(gr, w)
def __init__(self, gr: Graph, s: int): self.marked = [False] * gr.rV() self.marked = [None] * gr.rV() self.s = s self.dfs(gr, s)
def dfs(self, gr: Graph, v: int): self.marked[v] = True self.count += 1 for w in gr.adjlist(v): if not self.rmarked(w): self.dfs(gr, w)
def randomGr(V: int = 10, E: int = 20) -> Graph: gr = Graph(V) i = E while i > 0: v = randoms.r_int(V - 1) w = randoms.r_int(V - 1) # if v-w not exist, add edj if w not in gr.adjlist(v) and v != w: gr.addEdge(v, w) i -= 1 return gr if __name__ == "__main__": test = prgraph() gr = Graph(4) # for item in G: # gr.addEdge(item[0], item[1]) # v = gr.rV() # dot = test.graph(gr) # dot.view() # digr = Digraph(5) # for item in G: # digr.addEdge(item[0], item[1]) # dot = test.digraph(digr) # dot.view() # gr = gr.load() gs = randomGr(50, 60)
#!/usr/bin/python3 from GH import Graph, prgraph # from test import randomGr import functools, os, imageio, time, copy import glob test = prgraph() gr = copy.deepcopy(Graph().load()) dot = test.graph(gr) def dot_node(w: int): dot.node(str(w), color='red') dot.attr(size='20,20') dot.format = 'png' dot.render(filename='%s' % (str(time.time() * 1000 % 10000)), directory=None, view=False, cleanup=True) def wrap_dot_node(func): @functools.wraps(func) def wrapper(*args, **kw): dot.node(str(args[2]), color='red') dot.attr(size='20,20') dot.format = 'png' dot.render(filename='%s' % (str(time.time() * 1000 % 10000)), directory=None,
def __init__(self, G: Graph, s: int): self.marked = [False] * G.rV() self.edgeTo = [None] * G.rV() self.s = s self.dfs(G, s)
def __init__(self, G: Graph, s: int): self.marked = [False] * G.rV() self.count = 0 self.dfs(G, s)