Edit: After John L.'s reminder, there is a specific term, namely "Hamiltonian walk" for my previous question. See How can we find a shortest closed walk passing through all vertices?. So I made the appropriate modification.
A Hamiltonian walk on a connected graph is a closed walk of minimal length which visits every vertex of a graph (and may visit vertices and edges multiple times).
Please note that there is a distinction between a Hamiltonian walk and a Hamiltonian cycle. Any graph can have a Hamiltonian walk, but not necessarily a Hamiltonian cycle. And it is definitely not the Hamiltonian path that the answer from David G. Stork.
The length of a walk is the number of edges it has, counting repeated edges as many times as they appear.
I'm not sure if such a problem has been extensively studied. For example, our graph is Coxeter graph; if we choose the start vertex $“1”$, then find the shortest distance from $“1”$ passing through all vertices and returning back to $“1”$.
g = GraphData["CoxeterGraph"];
Graph[g, VertexLabels -> "Name"]
It seems that the function FindShortestPath
is still far from the desired goal.
Another example, we choose $v$ as the start vertex.
Graph[{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, {Null, SparseArray[Automatic, {13, 13}, 0, {1, {{0, 4, 5, 7, 9, 12, 14, 18, 21, 22, 28, 32, 36, 38}, {{5}, {7}, {10}, {11}, {10}, {4}, {10}, {3}, {10}, {1}, {6}, {7}, {5}, {7}, {1}, {5}, {6}, {8}, {7}, {11}, {13}, {12}, {1}, {2}, {3}, {4}, {11}, {12}, {1}, {8}, {10}, {12}, {9}, {10}, {11}, {13}, {8}, {12}}}, Pattern}]}, {FormatType -> TraditionalForm}]