pygraf

Python Graph library


Keywords
Graf, python, Graph
Licenses
BSD-3-Clause/Apache-2.0
Install
pip install pygraf==1.01

Documentation

Supports:

Python:Python 2.6+

Author: dw.livion@yandex.ru

Install:

$ pip install pygraf

or

$ pip3 install pygraf

Command List:

  • graph=pygraf.graf(n,mas)
  • graph.check_orient()
  • graph.dfs(v,0)
  • graph.print_dfs()
  • graph.comp(True/False)
  • graph.minwayves_wihtout_cicly(v,u)
  • graph.minwayprint_wihtout_cicly(v,u)
  • graph.add_rebro(v,u,c)
  • graph.del_rebro(v,u)

pygraf.graf(n,mas)

  • n - count of point
  • mas - massive of [First point,Second point,Cost]

Example init graph:

graph=pygraf.graf(3,[[1,2,2],[1,3,4]])

graph.check_orient()

Checking directed graph

Example init graph:

graph=pygraf.graf(3,[[1,2,2],[1,3,4]])
graph.check_orient()#return true - Directed; False - Undirected

graph.dfs(v,0)

Starting DFS algoritm from v-point

Example init graph:

graph=pygraf.graf(3,[[1,2,2],[2,3,4]])
graph.dfs(2,0)#Nothing return

graph.print_dfs()

Return result DFS algoritm from v-point

Example init graph:

graph=pygraf.graf(3,[[1,2,2],[2,3,4]])
graph.dfs(2,0)#Nothing return
print(graph.print_dfs())#print [False,True,True]

graph.comp(True/False)

Only for Undirected graph, if graph directed return False

if True:

Return Connected component and List all component:

graph=pygraf.graf(3,[[2,1],[2,3],[3,1],[1,3],[1,2],[3,2]])
print(graph.comp(True))#print "1->2" "1->3" "1"

if False:

graph=pygraf.graf(3,[[2,1],[2,3],[3,1],[1,3],[1,2],[3,2]])
print(graph.comp(False))#print "1"

graph.minwayves_wihtout_cicly(v,u)

Print min-cost from v to u

Example init graph:

graph=pygraf.graf(3,[[1,2,2],[2,3,4]])
graph.minwayves_wihtout_cicly(2,3)#print "4"

graph.minwayprint_wihtout_cicly(v,u)

Print min-cost from v to u

Example init graph:

graph=pygraf.graf(3,[[1,2,2],[2,3,4]])
graph.minwayprint_wihtout_cicly(2,3)#print "2 3"

graph.add_rebro(v,u,c)

Add path from "v" to "u" cost "c"

Example init graph:

graph=pygraf.graf(3,[[1,2,2],[2,3,4]])
graph.add_rebro(2,1,4)#add path from 2 to 1 cost 4

graph.del_rebro(v,u)

Delete path from "v" to "u"

Example init graph:

graph=pygraf.graf(3,[[1,2,2],[2,3,4]])
graph.del_rebro(1,2)#delete path from «1» to «2»