Skip to content

Commit 9f4042a

Browse files
author
Release Manager
committed
sagemathgh-39228: faster bidirectional dijkstra using pairing heap We improve methods `bidirectional_dijkstra` and `bidirectional_dijkstra_special` from `c_graph.py` by using the new pairing heap data structure (see sagemath#39046) instead of a `priority_queue`. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#39228 Reported by: David Coudert Reviewer(s): David Coudert, gmou3
2 parents 46c24c2 + 3962a93 commit 9f4042a

File tree

4 files changed

+204
-201
lines changed

4 files changed

+204
-201
lines changed

src/sage/data_structures/pairing_heap.pxd

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ cdef extern from "./pairing_heap.h" namespace "pairing_heap":
3030
void decrease(TypeOfItem, TypeOfValue) except +
3131
bint contains(TypeOfItem)
3232
TypeOfValue value(TypeOfItem) except +
33+
size_t size()
3334

3435
cdef cppclass PairingHeapNodePy:
3536
PyObject * value # value associated with the item

0 commit comments

Comments
 (0)