# Need Help (Binary Tree)

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

Hello,

At last, a coder takes THE EXACT APPROACH I DID!!!

In my point of view you are doing it (almost) right, as you try to focus on concepts instead of specific problems, which is a great way to evolve.

BFS and DFS are graph traversal algorithms and binary trees can be seen as a particular kind of graph

You can read more on a tutorial I wrote, [here][1].