Questões

Total de Questões Encontradas: 144

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
Qual implementação do método concat() produz o resultado descrito ABAIXO?
Imagem da Questão
A
public Stack<Integer> concat(Stack<Integer> s1,Stack<Integer> s2)
{
    Stack<Integer> nova=new Stack<Integer>();
    for( ;!s1.empty();nova.push(s1.pop()));
    for( ;!s2.empty();nova.push(s2.pop()));
    return nova;
}
B
public Stack<Integer> concat(Stack<Integer> s1,Stack<Integer> s2)
{
    for( ;!s1.empty();s2.push(s1.pop()));
    return s2;
}
C
public Stack<Integer> concat(Stack<Integer> s1,Stack<Integer> s2)
{
    Stack<Integer> nova=new Stack<Integer>();
    ArrayList<Integer> aux=new ArrayList<Integer>();
    for( ;!s1.empty();aux.add(s1.pop()));
    for( ;!s2.empty();aux.add(s2.pop()));
    for(int i=0;i<aux.size();i++)
        nova.push(aux.get(i));

    return nova;
}

D
public Stack<Integer> concat(Stack<Integer> s1,Stack<Integer> s2)
{
    Integer i;
    if(s1.empty())
        return s2;
    i=s1.pop();
    concat(s1,s2);
    s2.push(i);
    return s2;
}
E
public Stack<Integer> concat(Stack<Integer> s1,Stack<Integer> s2)
{
    Integer i=null,j=null;
    Stack<Integer> nova=new Stack<Integer>();
    if(s1.empty() && s2.empty())
        return s2;
    if(!s1.empty())
        i=s1.pop();
    if(!s2.empty())
        j=s2.pop();
    concat(s1,s2);
    if(i!=null)
        nova.push(i);
    if(j!=null)
        nova.push(j);
    return nova;
}
Uma árvore rubro-negra possui 18 valores inteiros distintos armazenados em seus 18 nós.Uma função recursiva, cujo cabeçalho é boolean busca (int val), foi escrita com o objetivo de visitar os nós desse tipo de árvore à procura de um determinado valor (val). O algoritmo utilizado tira partido das características de uma árvore rubro-negra, com o objetivo de ser o mais eficiente possível.

Qual é o número máximo de chamadas à função busca() que será necessário para informar se um determinado valor está, ou não, armazenado na árvore?
A
3
B
4
C
5
D
6
E
9
Ano: 2006 Banca: CESPE Órgão: ANCINE Prova: Analista Administrativo - Informática
Texto Associado Texto Associado
Imagem Associada da Questão
Considerando a figura acima, que apresenta um conjunto das interfaces e implementações que constituem o framework Java Collections, julgue os próximos itens, acerca de programação em desenvolvimento de sistemas.
Caso se deseje usar uma implementação em memória que facilite a ordenação de registros por ordem lexicográfica, as estruturas de dados mais indicadas entre as apresentadas na figura são as que implementam árvores balanceadas.
C
Certo
E
Errado
Página 15 de 15