What is algorithm behind allshortestpaths query?

In neo4j, we can call the allshortestpaths query to find out all shortest paths between two nodes, like this:

MATCH p=allShortestPaths((h)-[*1..20]->(k))

Where can I find the code/algorithm behind this query? I would like to know which algorithm here used to do path searching, is it Dijkstra, or Floyd-Warshall or something else.

Many thanks.

hi @lingxuan9 can you check this blog post maybe it helps. For allshortestpath also this other blog post can help. To get to know the code, maybe you can get the source code of Neo4j or check it in the book for the Graph Algorithms.