def CreateNodes(): nodes = [] # init - empty node mnode = node.Node('1', {}) mnode.add_edge('5', 20) mnode.add_edge('6', 5) mnode.add_edge('7', 15) mnode.add_edge('2', 10) mnode.add_edge('4', 20) nodes.append(mnode) mnode = node.Node('2', {}) mnode.add_edge('4', 10) mnode.add_edge('3', 20) nodes.append(mnode) mnode = node.Node('3', {}) mnode.add_edge('4', 5) mnode.add_edge('2', 15) nodes.append(mnode) mnode = node.Node('4', {}) mnode.add_edge('5', 10) nodes.append(mnode) mnode = node.Node('5', {}) mnode.add_edge('6', 5) nodes.append(mnode) mnode = node.Node('6', {}) nodes.append(mnode) mnode = node.Node('7', {}) mnode.add_edge('6', 10) nodes.append(mnode) mnode = node.Node('8', {}) mnode.add_edge('1', 5) mnode.add_edge('2', 20) mnode.add_edge('7', 5) nodes.append(mnode) mnode = node.Node('9', {}) mnode.add_edge('8', 20) mnode.add_edge('2', 15) mnode.add_edge('10', 10) nodes.append(mnode) mnode = node.Node('10', {}) mnode.add_edge('2', 5) mnode.add_edge('3', 15) nodes.append(mnode) return nodes
def CreateexistNodewithnewedge(): # init - empty node mnode = node.Node('10', {}) mnode.add_edge('12', 20) mnode.add_edge('15', 20) return mnode
def CreateNodes2(): nodes = [] mnode = node.Node('11', {}) mnode.add_edge('11', 20) mnode.add_edge('12', 15) mnode.add_edge('13', 10) nodes.append(mnode) return nodes
def add_node(self, _node): is_node_exist = False #check if a node with the same name already exists in the graph # then existing edges should not be overwritten, but new edges should be added for kk, vv in self.nodes.items(): if kk == _node.name: is_node_exist = True #found item for k, v in _node.edges.items(): self.nodes[kk].add_edge(k, v) #No Node Found then add to Graph if is_node_exist == False: #cast to Node Model newnode = node.Node(_node.name, {}) if len(_node.edges.items()) > 0: for k, v in _node.edges.items(): newnode.add_edge(k, v) self.nodes[_node.name] = newnode else: self.nodes[_node.name] = newnode
from models import node, graph # init - empty node mynode= node.Node('A',{}) print ('\n Node name is {}' .format(mynode.name)) #check is isolated if mynode.is_isolated(): print('\n mynode.is_isolated()- result : Node is empty') else: print('\n length of Node {}= {}'.format(mynode.name,len(mynode))) #fill with information mynode.add_edge('1',5) mynode.add_edge('2',10) mynode.add_edge('3',15) print('\n mynode.add_edge(1,5) \n mynode.add_edge(2,10) \n mynode.add_edge(3,15) \n after filling with information :length of Node {} = {} \n'.format(mynode.name,len(mynode))) #Add edge with simlar name to exist edge print ('\n mynode.add_edge(1,5) , result:') mynode.add_edge('1',5) #Add edge with simlar name to node name print ('\n add edge with name silimar to node: \n mynode.add_edge(A,5) , result:') mynode.add_edge('A',5) #remove edge print ('\n Remove edge : \n mynode.remove_edge(1) , result:')
for line in f: connection = line.split(' ') connections.append(connection) #Fill unique names dictionary namesdict[line.split(' ')[0]] = randint(0, 100) return connections, namesdict soical, namesdict = proccessdata('social.txt') #Create Nodes for k, v in namesdict.items(): #print (k,v) _node = node.Node(k, {}) mygraph1.add_node(_node) #add or remove edges between nodes for line in soical: if line[3] == 'became': mygraph1.addedge(line[0], line[2]) elif line[3] == 'cancelled': mygraph1.removeedge(line[0], line[2]) print(mygraph1) #check id path exit print(mygraph1.is_edge('Gad', 'Judah'))
from models import graph ,node, nondirectionalgraph # init - empty node graph mygraph1 = nondirectionalgraph.NonDirectionalGraph('x',{}) mynode= node.Node('1',{}) mygraph1.add_node(mynode) mynode= node.Node('2',{}) mygraph1.add_node(mynode) mygraph1.addedge('1','2') print(mygraph1)
avgdict_we={} # Build dict holds avg = time spent on path / number of users go throw this path for k,v in timedict_we.items(): avgdict_we[k] = int(round(v/countdict_we[k])) # Build dict holds avg = time spent on path / number of users go throw this path for kew,vew in timedict_ew.items(): avgdict_ew[kew] = int(round(v/countdict_ew[kew])) # Create first Graph nodes=[] # k exmple - north_east:1233 for k,v in avgdict_we.items(): mnode = node.Node(k.split('_')[0], {}) mnode.add_edge(k.split('_')[1], v) nodes.append(mnode) graph1= graph.Graph('r1', nodes) print(graph1) # Create second Graph nodes=[] for k,v in avgdict_ew.items(): mnode = node.Node(k.split('_')[0], {}) mnode.add_edge(k.split('_')[1], v) nodes.append(mnode) graph2= graph.Graph('r2', nodes) print(graph2) graph3 = graph1+graph2
def creatgraphs(): nodes = [] mnode = node.Node('1', {}) mnode.add_edge('5', 20) mnode.add_edge('6', 5) mnode.add_edge('7', 15) mnode.add_edge('2', 10) mnode.add_edge('4', 20) nodes.append(mnode) mnode = node.Node('2', {}) mnode.add_edge('4', 10) mnode.add_edge('3', 20) nodes.append(mnode) mnode = node.Node('3', {}) mnode.add_edge('4', 5) mnode.add_edge('2', 15) nodes.append(mnode) mnode = node.Node('4', {}) mnode.add_edge('5', 10) nodes.append(mnode) graph1 = graph.Graph('1', nodes) nodes = [] mnode = node.Node('5', {}) mnode.add_edge('6', 5) nodes.append(mnode) mnode = node.Node('6', {}) nodes.append(mnode) mnode = node.Node('7', {}) mnode.add_edge('6', 10) nodes.append(mnode) graph2 = graph.Graph('2', nodes) nodes = [] mnode = node.Node('8', {}) mnode.add_edge('1', 5) mnode.add_edge('2', 20) mnode.add_edge('7', 5) nodes.append(mnode) mnode = node.Node('9', {}) mnode.add_edge('8', 20) mnode.add_edge('2', 15) mnode.add_edge('10', 10) nodes.append(mnode) mnode = node.Node('10', {}) mnode.add_edge('2', 5) mnode.add_edge('3', 15) nodes.append(mnode) graph3 = graph.Graph('3', nodes) return graph1, graph2, graph3