Você está na página 1de 3
UNIVERSIDADE ESTADUAL DO CEARÁ – UECE SECRETARIA DE EDUCAÇÃO A DISTÂNCIA – SEaD Universidade Aberta

UNIVERSIDADE ESTADUAL DO CEARÁ UECE SECRETARIA DE EDUCAÇÃO A DISTÂNCIA SEaD Universidade Aberta do Brasil UAB CURSO: Licenciatura em Informática Polo: Missão Velha Disciplina: ESTRUTURA DE DADOS I PROFESSOR: RICARDO HOLANDA Aluno: Antonio Aparecido de Lima

MATRÍCULA:1148380

ATIVIDADE 2 Cada questão vale 2 pontos

MATRÍCULA:1148380 ATIVIDADE 2 Cada questão vale 2 pontos 1. (Questão a ser desenvolvida no moodle) Qual

1. (Questão a ser desenvolvida no moodle) Qual a diferença entre Lista, fila, pilha e árvore. Dê exemplo de situações que devemos utilizar cada uma destes conceitos

2. Crie uma função que recebe duas filas e que imprime os elementos de forma intercalada.

void imprimeIntercalada(Fila f1, Fila f2){

Ex: Para as filas com conteúdo F1: 1, 2, 3 e F2: 10, 20, 30. A impressão da função seria 1, 10, 2, 20, 3, 30.

}

void imprimeIntercalada(Fila f1, Fila f2){

for(int i = f1.lenght() - 1; i >= 0; i--){

System.out.println(f1(i));

System.out.println(f2(i));

}

} // IMPRIME AS FILAS 1 E 2 INTERCALADA

3. Suponha que L1 e L2 sejam listas que representam conjuntos de números inteiros, faça um método que imprima L3 = L1 L2.

void union(Lista L1,Lista L2){ … } Ex: Para as listas com conteúdo L1: 1, 2, 3 e L2: 1, 2, 30. A impressão da função seria 1, 2, 3, 30.

void union(Lista L1,Lista L2){

List<Lista> L3 = new ArrayList<Lista>();

Interator L1 = L1.interator(); Interator L2 = L2.interator();

while(L1.hasNext()){

while(L2.hasNext()){

if(L1.next() == L2.next(){

L3.add(L1.next());

}

else{

if(L3.next() == L1.next() || L3.next() == L2.next(){

UNIVERSIDADE ESTADUAL DO CEARÁ – UECE SECRETARIA DE EDUCAÇÃO A DISTÂNCIA – SEaD Universidade Aberta

UNIVERSIDADE ESTADUAL DO CEARÁ UECE SECRETARIA DE EDUCAÇÃO A DISTÂNCIA SEaD Universidade Aberta do Brasil UAB CURSO: Licenciatura em Informática Polo: Missão Velha Disciplina: ESTRUTURA DE DADOS I PROFESSOR: RICARDO HOLANDA Aluno: Antonio Aparecido de Lima

MATRÍCULA:1148380

}

else{

break;

L3.add(L1.next());

L3.add(L2.nest());

}

}

}

} // esta função junta as duas listas na lista 3

} } } } // esta função junta as duas listas na lista 3 4. Suponha

4. Suponha que L1 e L2 sejam listas que representam conjuntos de números inteiros, faça um método que imprima L3 = L1 L2.

void intersection(Lista L1,Lista L2){ … }

Ex: Para as listas com conteúdo L1: 1, 2, 3 e L2: 1, 2, 30. A impressão

da função seria 1, 2.

void intersection(Lista L1,Lista L2){

List<Lista> L3 = new ArrayList<Lista>();

Interator L1 = L1.interator(); Interator L2 = L2.interator();

while(L1.hasNext()){

while(L2.hasNext()){

if(L1.next() == L2.next(){

L3.add(L1.next());

}

}

}

}

// função que coloca a intersecção de L1 e L2 em L3

UNIVERSIDADE ESTADUAL DO CEARÁ – UECE SECRETARIA DE EDUCAÇÃO A DISTÂNCIA – SEaD Universidade Aberta

UNIVERSIDADE ESTADUAL DO CEARÁ UECE SECRETARIA DE EDUCAÇÃO A DISTÂNCIA SEaD Universidade Aberta do Brasil UAB CURSO: Licenciatura em Informática Polo: Missão Velha Disciplina: ESTRUTURA DE DADOS I PROFESSOR: RICARDO HOLANDA Aluno: Antonio Aparecido de Lima

MATRÍCULA:1148380

HOLANDA Aluno: Antonio Aparecido de Lima MATRÍCULA:1148380 5. Dada a árvore abaixo: Qual será a saída

5. Dada a árvore abaixo:

Qual será a saída de um percurso:

Dada a árvore abaixo: Qual será a saída de um percurso: a) Pré-ordem

a) Pré-ordem

14,10,04,02,01,06,08,12,11,13,20,16,15,19,17,18,27,22,24,53,32

b) In-ordem (Ordem assimétrica)

01, 02, 04, 08, 06, 11, 13, 12, 10, 15, 18, 17, 19, 16, 24, 22, 32, 53, 27, 20, 14

c) Pós-ordem 01, 02, 08, 06,04, 11, 13, 12, 10, 15, 18,17, 19, 16, 24, 22, 32, 53, 27, 20, 14