I have found several versions of algorithms the find a Eulerian path/circuit in a graph, but I'm having trouble understanding why they work. For example http://www.graph-magics.com/articles/euler.php gives a clear description of the steps, but I can't see how those steps work, and certainly don't imagine I could have come up with the algorithm myself.
What insights/intuition would be needed to be able to develop this algorithm for oneself?
From my reading, it seems the basic idea is to find multiple circuits and somehow "splice" them together. However, the details are very murky in my mind and I'd like to understand in detail, including why and when you can do this etc.
Does the algorithm given in the link have a name? Is it based on DFS? Is it a version of Fleury’S Algorithm? If not how does it differ? (It seems Fleury's Algorithm makes decisions which the one in the article doesn't, but I may well be mistaken.)
It may well be that there are multiple algorithms for this problem, in which case it would be good to know which the one in the article is, and what the alternatives are.
It would also be very helpful to have some pseudocode for the algorithm in the article, based off an adjacency list, if anyone is willing to provide one.