I am working on this lab right now. I've figured out how to populate my graph (not from the command line yet, but I am certain that won't be hard), and I am currently working on the algorithm that will allow me to "walk" the graph and find some tour.

After a few hours of unsuccessful implementations, Google searches, and thrown-away papers, I am beginning to think that I might not be able to find a solution if I want to sleep at all tonight.

Is there a popular algorithm for finding such a tour (visit all vertices only once), and if so - what would be its rough outline? I am almost completely convinced that it can be implemented recursively with relative ease, but I can't seem to find the right recursion. And the only method that made sense to me on paper works with several nested for loops and extra arrays. Nasty business.

Any tips?