Comments (1)
I've been looking at this a bit, the internal data structure for the graphs from petgraph should make this possible, but we'll likely want to contribute an implementation there for both Graph
and StableGraph
because I haven't been able to find the functionality and I expect it will require manipulation of private attributes.
But, basically the graphs are vectors of the nodes and edges inside petgraph https://github.com/petgraph/petgraph/blob/master/src/graph_impl/mod.rs#L332-L336. So it should be possible to just extend those vectors with the list of nodes and edges from another graph. The tricky bits I can see as a potential problem with will likely come up around indexes. Each node and edge struct in a graph keeps track of indexes for it's edges and nodes respectively. So we can easily extend the vectors but then the rhs nodes and edge objects will need to be updated to refer to the new indexes otherwise the structure of the graph will be broken.
In the meantime we might have some performance improvements by trying to implement as much of the existing compose algorithm inside of retworkx as we can, just for the faster iteration time. So even if the algoirthm is inefficient it will at least perform better.
from rustworkx.
Related Issues (20)
- Move `lexicographical_topological_sort()` functionality to rustworkx-core HOT 2
- Move `collect_bicolor_runs()` functionality to rustworkx-core HOT 2
- Move `layers` functionality to rustworkx-core HOT 1
- Move dag longest path functions to rustworkx-core HOT 2
- rx.digraph_find_cycle() does not find the cycle in a graph HOT 7
- Improve the performance of the Katz Centrality computation.
- Weighted betweenness centrality HOT 1
- mpl_draw requires all keyword arguments to be specified to pass mypy HOT 3
- "single_source_all_shortest_paths" or "all_pairs_all_shortest_paths" function call
- QUESTION: are methods like dijkstra_shortest_path_lengths sorted? HOT 1
- Move `collect_runs()` functionality to rustworkx-core HOT 3
- SemVer HOT 2
- Investigate `QuaternaryHeap` for shortest-path and other functions HOT 1
- Expose extra options to control string escaping in dot file generation
- rustworkx crashes immediately on Python 3.13.0b3 HOT 7
- Problem type checking `ancestors()` with pyright HOT 3
- Incorrect Python stubs typing for node/edge attrs parameters in json serializers HOT 1
- Migrate PageRank and HITS implementations from `sprs` to `faer` HOT 1
- Update PyO3 to 0.22.x HOT 1
- Test `rustworkx` with free-threaded Python HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rustworkx.