Given any undirected, connected and simple graph $G(V,E)$,each node of which is considered as a city.  We call $j$ a *neighbor* of $i$ if $(i,j)\in E$. $N_i$ is the set of neighbors of $i$. $|V|=N$

There is a traveler who starts travelling from some city and wants to visit all cities in $G$. But he does not have a map,it means he only knows about the local information,i.e. he only knows the neighbors of a city when staying at that city. Each time, he moves to a neighbor of currently staying city. He can visit one city over once.

Suppose he traveled from city a to b 3 times and b to a 2 times, then we call link (a,b) (or (b,a)) has been used totally 5 times. All these past visiting records are remembered by the relevant city, i.e., each city knows how many times their links have been used till now. For example, both a and b know link(a,b) has been used 5 times. We want to design an algorithm which only depends on these known information such that he can visit all cities in finite times.

I am considering the following algorithm: each time, suppose he stays in some city $i$, and he selects a neighbor city of $i$ whose link between $i$ has been used the least times in the past, except the city he visited at last time, and move to that city. If more than 1, any of them is OK.

I want to know for any graph $G$, after how many times, he will finish visiting all the cities. Whether there exists a function $f$ such that after $f(N)$ times, all the cities will be visited for sure.