Skip to main content

Graph package

Project description

grphpkg

grphpkg is a simple graph library that has DFS and BFS implemented that you can create your own operation.

Graph

from grphpkg import Graph
matrix_representation = [
    [0, 1, 0, 1, 0, 0, 0, 0, 1],
    [1, 0, 1, 0, 0, 1, 0, 0, 0],
    [0, 1, 0, 0, 0, 0, 1, 0, 0],
    [1, 0, 0, 0, 1, 0, 0, 1, 0],
    [0, 0, 0, 1, 0, 1, 0, 0, 0],
    [0, 1, 0, 0, 1, 0, 1, 0, 0],
    [0, 0, 1, 0, 0, 1, 0, 1, 0],
    [0, 0, 0, 1, 0, 0, 1, 0, 1],
    [1, 0, 0, 0, 0, 0, 0, 1, 0]
]

g = Graph(matrix_representation)                    # Initialize weighted graph with a matrix
g.print_graph()                                     # Print the graph
g.dfs(0, lambda x: print(str(x)+" ", end=""))       # Run DFS or BFS with custom callback
g.draw_graph()                                      # Graph visualization

Create your callback function and pass it in dfs or bfs to execute your operation

Weighted Graph

from grphpkg import Graph

matrix = [
    [0, 2, 3, float('inf')],
    [2, 0, 1, 4],
    [3, 1, 0, 5],
    [float('inf'), 4, 5, 0]
]

weighted_graph = WeightedGraph(matrix)              # Initialize weighted graph with a matrix
weighted_graph.print_graph()                        # Print the graph
mst_edges, mst_cost = weighted_graph.prim_mst(0)    # Get minimun spanning and the edges
weighted_graph.draw_graph()                         # Graph visualization

Graph visualization

Call draw graph function

g.draw_graph()

Installing

pip install grphpkg

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grphpkg-0.0.4.tar.gz (7.6 kB view hashes)

Uploaded Source

Built Distribution

grphpkg-0.0.4-py3-none-any.whl (8.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page