I have question which related to following algorithm that return path in graph.
Pick an arbitrary vertex, it's our starting point in our path.
We follows the next edge without returning to edge that have been passed before,
we stop when our current vertex have no following edge.
I found out that this algorithm always returns cycle when each vertex degree is even.
I try to find a graph that all his vertices degree is even (Euler cycle) but the algorithm return a path which is not Euler cycle, this graph has to be simple and connected.
The empty graph, and the graph consisting of a single isolated vertex works (i.e., it wouldn't return a circuit). But other than that, it can't be done (i.e., it will always return a circuit).
This is part of the usual proof that every connected graph where every vertex has even degree has an Eulerian circuit. (The other part of the proof is extending this cycle until all edges are included.)
If the algorithm did return such a walk, the end vertex (which we must assume is not also the starting vertex) would have an unused edge: Every previous pass through that vertex will have used $2$ edges (one going in, one coming out). Another edge will be used in the final step. The algorithm will have used an odd number of edges incident with that vertex, and therefore, since the vertex has even degree, there is an unused edge incident with that vertex. So the walk can be extended.