Hi,
I am posting this problem in C++ section even I did not get any problem from C++ point. I am implementing an algorithm in C++. The algorithm deals with coloring the edges of a bipartite graph in O(E logD) time, where E is the number of edges in graph G and D is the maximum degree in G. The scientific paper for this algorithm can be found at the link:
http://www.springerlink.com/app/home/content.asp?wasp=7ped06pqrl5knm4fuj3y&referrer=contribution&format=2&page=1&pagecount=8or it can be found at the link below, but click on the button "Entire document" on right side in the page.
http://www.springerlink.com/app/home/contribution.asp?wasp=2pw78ahqrl5knm4fup4u&referrer=parent&backto=issue,2,9;journal,16,28;linkingpublicationresults,1:102516,1In the paper, you can see the description for finding matching of a graph, in section "4.Computing a minimal edge-coloring".
I wrote 90% of the code for the matching algorithm. First, I wrote a component for regularizing the graph. Later, another component for Cole Spacification to distribute the weights among the edges in the graph. After that, I implemented all operations as mentioned in the same section to process chains found in the graph.
Well, the level of complexity is increasing now.. I will reduce it. The operations are: concatenation, split, join, reverse and so on.. . I have every operation implemented. These operations work on trees, I used AVL Tree here. The purpose of the tree is to store a chain in graph. Chain is a sequence of nodes and an edge exists between each pair of two successive nodes. In the AVL Tree, at leaves 'm storing the graph node and other relevant information.
The description till now I gave is for giving a rough idea about the algorithm. But my problem is not with programming rather with logic finding.
My problem here:
Now, I need to construct a path. It is a DFS walk in the graph G. DFS walk is not a problem for me. Rather the description for constructing the path is a bit confusing. I am not able to understand the correct logic. Especially 4 paragraphs are confusing in the page no.6 (Section 4 itself). The paragraphs are like this..
1)
A cycle will comprise an alternative...
2)
A path is built by...
3)
Because of the vertex...
4)
To help detect...
I want anyone to explain the paragraphs, I need broad explanation for the paragraphs. Can any one help in finding the logic inside for path construction.
I thank you in advance.