Optimize Dijkstra routing with binary heap implementation and tests#24
Open
chenyx10358 wants to merge 2 commits intoQNLab-USTC:mainfrom
Open
Optimize Dijkstra routing with binary heap implementation and tests#24chenyx10358 wants to merge 2 commits intoQNLab-USTC:mainfrom
chenyx10358 wants to merge 2 commits intoQNLab-USTC:mainfrom
Conversation
Add DijkstraRouteAlgorithmHeap using heapq-based priority queue for efficient shortest path computation in quantum networks. Replaces linear search with O(log n) heap operations, improving scalability on denser network topologies while maintaining the same routing table generation for all network nodes.
Add performance and correctness tests comparing DijkstraRouteAlgorithm with DijkstraRouteAlgorithmHeap on Waxman and Tree topologies. Tests measure build time speedup and verify route query results match across 10000 random source-destination pairs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DijkstraRouteAlgorithmHeapoptimizes the implementation of the existing Dijkstra routing algorithm by incorporating a heap data structure, thereby enhancing execution speed to support large-scale simulations. I have verified its correctness and performance on typical topologies; the corresponding test code is available intest/network/test_route_ex.py.