Arvores Binárias -Maior elemento [RESOLVIDO]

Boa tarde!
Preciso aqui de um auxilio:
Imaginando um torneio de tenis representado numa arvore binaria.
Como podem ver pela imagem o Joao ganhou 6-0 ao Carlos, O Jose 3-2 ao Gus e assim sucessivamente.
Estou a tentar desenvolver uma função que me retorne o maio elemento na árvore. Não sei o que estou a fazer mal pois retorna sempre 0 :confused: Agradeço uma ajudinha!
typedef struct _PLAYER
{
char name[MAX_NAME];
int sets;
}PLAYER;
typedef struct _BTREE_NODE
{
void * data;
struct _BTREE_NODE * left;
struct _BTREE_NODE * right;
} BTREE_NODE;
typedef BTREE_NODE * BTREE;

int Maximo(BTREE btree)
{

int max=0;
if (btree != NULL)
{
	Maximo(LEFT(btree));

	if (((PLAYER*)DATA(btree))->sets > max)
		max = ((PLAYER*)DATA(btree)) ->sets;
	
	Maximo(RIGHT(btree));

}
return max;	

}