01
Em uma árvore, a organização dos elementos se dá de forma hierárquica, existindo um elemento que fica no topo da árvore, chamado de raiz e os elementos subordinados a ele, seus nós filhos.
Cada nó filho pode conter zero, um ou mais de um nó filho.

Olhando para uma árvore por camadas:

Note que a implementação da árvore se dá por lista ligada mas poderia ser por vetores também. Isto é uma lista ou um vetor podem representar uma árvore, embora a representação por listas seja mais fácil de se encontrar em algoritmos.
O NIL representa um ponteiro que não aponta para outro elemento.
Uma estrutura do tipo árvore possui entre seus elementos:
Solução do professor
Por definição, a árvore possui um apontador para o início (raiz da árvore) e folhas que são elementos sem subárvores.
02
Listas ligadas
Se o armazenamento dos elementos da lista anterior estiver em blocos de letras espalhados pela memória e não “colados uns aos outros”, temos uma lista ligada. Uma lista ligada tem importante diferença com relação a vetores porque geralmente será utilizada quando o tamanho da memória do computador a ser alocado não é conhecido a priori e mais memoria deve ser alocada dinamicamente durante a execução do próprio programa. Cada elemento da lista, neste caso o nome de uma pessoa, precisa ter um endereço apontando para o próximo elemento da lista. A lista ligada precisa de um ponteiro apontando para o início da lista e um ponteiro no final da lista apontando para o seu final (chamado de NIL ou NULL).
Importante perceber as diferenças nos métodos de busca e adição e eliminação de elementos em uma lista ligada. Depende somente da mudança de para onde apontam os apontadores.