ww,sortedgel=sudlibn.graph_points(ww,g.edges())
sortedgel.reverse()
#ww.sort()
x=[]
y=[]

for s in ww:
	y.append(ww.count(s))
	x.append(s)
plt.plot(x,y)
plt.show()
#print ww
n=len(g.nodes())
T=nx.Graph()

maketree(g,T,ww,sortedgel)
nx.draw(T,nx.graphviz_layout(T,'neato'))
plt.show()
print "Weight method carcass"
r=sudlibn.the_carcass(g, T)
print r

'''r1=[]
for v in g.nodes():
	t=sudlibn.spanning_tree(g,v)
	tree=sudlibn.und(t)
	r1.append(sudlibn.the_carcass(g,tree))
	 
print "All BFS Trees"
print min(r1)'''
#pdb.set_trace()
#g=nx.barabasi_albert_graph(40,10)
g=nx.grid_2d_graph(7,7)
#print g.edges()
#g=nx.hypercube_graph(3)
a=[]
r=[]
vv=[]
#print a
l=sudlibn.graph_betweenessE(g)
#print l
for v in g.nodes():
	t=sudlibn.spanning_tree(g,v)
	tree=sudlibn.und(t)
	r.append(sudlibn.the_carcass(g,tree))
	a.append(sudlibn.bet_tree(g,tree,l))
	
	#print "Vertex",v,":",r[(g.nodes()).index(v)]

	
print min(r),"Vertex",r.index(min(r))
print max(a),"Vertex",a.index(max(a))
'''Baboo=nx.Graph()
Baboo.add_edge((0,0,0),(1,0,0))
Baboo.add_edge((1,0,0),(1,1,0))
Baboo.add_edge((1,1,0),(0,1,0))
Baboo.add_edge((0,1,0),(0,1,1))
Baboo.add_edge((0,1,1),(1,1,1))
Baboo.add_edge((1,1,1),(1,0,1))
Baboo.add_edge((1,0,1),(0,0,1))