Skip to content

Commit 3d70452

Browse files
committed
init
0 parents  commit 3d70452

35 files changed

+6683
-0
lines changed

.m.topo.swp

12 KB
Binary file not shown.

Benllman_Ford.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
2+
3+
def getEdges(G):
4+
v1 = [] #src node
5+
v2 = [] #dest node
6+
w = [] # weigth of src to dst
7+
for i in G:
8+
for j in G[i]:
9+
if G[i][j]!=0:
10+
w.append(G[i][j])
11+
v1.append(i) #can select this to choose special nodes
12+
v2.append(j)
13+
return v1,v2,w
14+
15+
def Benllman_Ford(G,v0,inf=9999):
16+
v1,v2 ,w = getEdges(G)
17+
#init shortest distance of sources 2 dest
18+
dis = dict((k,INF) for k in G.keys())
19+
dis[v0]= 0
20+
21+
#core
22+
for k in range(len(G)-1):
23+
check = 0
24+
for i in range (len(w)):
25+
if dis[v1[i]]+w[i]<dis[v2[i]]:
26+
dis[v2[i]]=dis[v1[i]]+w[i]
27+
check=1
28+
if check == 0:break
29+
30+
flag = 0
31+
for i in range(len(w)):
32+
if dis[v1[i]] + w[i] < dis[v2[i]]:
33+
flag = 1
34+
break
35+
if flag == 1:
36+
return False
37+
return dis
38+
if __name__ == "__main__":
39+
G={1:{1:0, 2:-3 ,5:5},
40+
2:{2:0, 3:2},
41+
3:{3:0, 4:3},
42+
4:{4:0, 5:2},
43+
5:{5,0}}
44+
45+
v0 = 1
46+
dis = Benllman_Ford(G,v0)
47+
print dis.values()
48+
49+
50+
51+

README

Whitespace-only changes.

cleanup

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
sudo killall lt-simple_switch
2+
for i in $(seq 0 9)
3+
do
4+
ip link delete s$i-tin
5+
ip link delete s$i-mgr
6+
ip link delete s$i-eth0
7+
ip link delete s$i-eth1
8+
ip link delete s$i-eth2
9+
ip link delete s$i-eth3
10+
ip link delete s$i-eth4
11+
ip link delete s$i-eth5
12+
done

0 commit comments

Comments
 (0)