Hello,

i started on learning coding 2-3 months back…

So far i have never been able to solve many problems… only the easy ones in contests.

I think this is because i am able to solve only those problem which are straight forward and simple.

So I thought to learn various algorithm as i encounter their use in contest problem…

So at first i picked up the Kamehameha problem and want to learn the concepts and algorithm behind it.

I googled the Hopcroft-karp algorithm, read about it but it seemed too complicated at first, because of the use of BFS(breadth first search) DFS(Depth…) which i have no clue what they mean. Then i tried understanding them first with their use in Binary Tree. So i want to know

1)What does the BFS and DFS mean in Binary Tree and how to and where to use them?

2)Is the the same BFS DFS used in Hopcroft-karp algorithm?

3)In simple words/code, How the hopcroft -karp algorithm basically finds the max matching.

The Only thing i understood about Binary tree is how to implement it using structure…is there another better way?

If i am going off the topic for what is needed for kamehameha…please guide me

Thanks