Ano: 2014 Banca: CESGRANRIO Órgão: FINEP Prova: Analista da Finep - Informática - Desenvolvimento de Sistemas
As classes Java a seguir ocupam arquivos distintos. Elas são usadas para implementar árvores binárias nas quais os nós armazenam valores inteiros.

package estruturas;
class ArvNo {
    int info;
    ArvNo esq=null,dir=null;
}

package estruturas;
public class Arv {
    private ArvNo raiz;
    public void exibe(int val){
        percorre(raiz,val);
    }

    private void percorre(ArvNo r,int val) {
        if(r==null)
            return;
        percorre(r.dir,r.info);
        percorre(r.esq,r.info);
        if(r.info>val)
            System.out.print(r.info+” “);
    }
}

A criação dos nós de uma árvore é realizada pelo construtor da classe Arv. Esse construtor, entretanto, não é exibido por ser irrelevante para a questão. É necessário saber apenas que, após a execução do construtor, a variável de instância raiz irá referenciar o nó raiz da árvore criada.

A classe Main a seguir foi elaborada para utilizar as classes descritas acima.

import estruturas.*;
public class Main {
    public static void main(String[] args) {
        Arv a=new Arv();
        a.exibe(0);
    }
}
Imagem da Questão
Supondo que uma árvore como essa seja criada após a instanciação de um objeto da classe Arv, o que será exibido no console quando o método main() acima for executado?
A
40 20 70 20 80 30 12
B
40 20 70 80 12 30 20
C
20 20 40 70 30 80 12
D
20 30 12 80 70 20 40
E
12 80 30 70 40 20 20