gh-37662: Add parameter `sort_neighbors` to method `init_short_digraph`
Fixes #37642.
We add parameter `sort_edges` to method `init_short_digraph` of the
`short_digraph` data structure defined in
`src/sage/graphs/base/static_sparse_graph.pxd|pyx`.
- When set to `True` (default), for each vertex, the list of neighbors
is sorted by increasing vertex labels. This enables to search for a
vertex in this list using binary search, and so in time `O(log(n))`, but
the overall running time of method `init_short_digraph` is in `O(m +
n*log(m))`.
- When set to `False`, neighbors are not sorted. The running time of
method `init_short_digraph` is reduced to `O(n + m)`, but the running
time for searching in the list of neighbors increases to `O(m)`.
So this new parameter is particularly useful for linear time algorithms
such as `lex_BFS`.
### :memo: 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.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [x] I have updated the documentation accordingly.
### :hourglass: Dependencies
<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - #12345: short description why this is a dependency -->
<!-- - #34567: ... -->
URL: https://github.com/sagemath/sage/pull/37662
Reported by: David Coudert
Reviewer(s):