How do you determine wether a undirected tree is binary or not?
Are you supposed to choose a root and go from there?
One root might make the tree binary and another root might not make it binary.
Is it so if one root makes it not being binary then it is in general NOT binary or?
If you already know that the input T is a tree, then you need only to check that all vertices of T have 1-3 edges: this accounts for one to the parent and at most two to its children in a binary tree representation. If so, then T can be represented as a binary tree.
You don't need to check if a root exists because any tree (acyclic, connected, undirected graph) has a node with 1-2 edges that can act as the root. For example, any leaf of T has 1 edge and can serve as the root.