SlideShare uma empresa Scribd logo
1 de 3
Baixar para ler offline
BCC202 – Estruturas de Dados I (2013-02)
Departamento de Computação - Universidade Federal de Ouro Preto - MG
Professor: Reinaldo Fortes (www.decom.ufop.br/reinaldo)
Estagiária docente: Josiane Rezende
Monitores: Bruno H. M. dos Santos
Trabalho Prático 03 (TP03)

- Data de entrega: 07/02/2013 até 23:55. O que vale é o horário do Moodle, e não do seu, ou do meu, relógio!!!
- Decréscimo por atraso de até: 12h = 30%, 24h = 40%; 36h = 60%; 48h = 70%; Acima de 48h = 100%.
- O padrão de entrada e saída deve ser respeitado exatamente como determinado no enunciado.
- Parte da correção é automática, não respeitar as instruções enunciadas pode acarretar em perda de pontos.
- Bom trabalho!

1

Objetivos

Este trabalho prático tem como objetivo principal fundamentar as principais estruturas de dados e os algoritmos
de pesquisa apresentados na disciplina.

2

Descrição do Problema
Utilizando-se da TAD TContato definida na Prática 04, implemente as seguintes TADs de pesquisa:
1. Pesquisa seqüencial.
2. Pesquisa binária.
3. Árvore binária de pesquisa.
4. Árvore AVL.
5. Tabela hash (utilizando listas encadeadas para tratar colisões).
6. Tabela hash (utilizando a estratégia de endereçamento aberto para tratar colisões).

As TADs de pesquisa terão como parte de seus dados um conjunto de contatos que deverá ser representado
internamente pela estrutura de dados que melhor convier para cada algoritmo de pesquisa (array ou lista encadeada,
por exemplo).
Cada TAD de pesquisa deverá possuir pelo menos duas operações:
• Construir: contrói a estrutura interna para armazenamento dos contatos. Recebe como argumento de entrada
um vetor de contatos.
• Pesquisa: realiza a pesquisa por um determinado elemento utilizando o algoritmo correspondente. Recebe
como entrada a chave do elemento procurado e retorna se a pesquisa encontrou o elemento procurado e o
número de comparações feitas.

2.1

Entrada e Saída

A entrada inicia com o número de casos de teste (C) na primeira linha. Em seguida, separados por uma linha em
branco, a definição de cada caso de teste. Um caso de teste é definido inicialmente pelo número de contatos a serem
considerados (N) e o número de pesquisas a serem feitas (P), ambos na primeira linha de definição do caso de teste. A
seguir, serão definidas N linhas contendo as informações de contato: nome, aniversário e telefone (conforme padrão

1
adotado na Prática 04). Logo após a definição dos contatos, seguirão P linhas contendo os números de telefone a
serem pesquisados. Não deverão existir chaves repetidas na entrada.
A saída consistirá do número de telefone procurado, seguido de seis linhas com o resultado dos métodos de
pesquisa, na ordem em que eles foram definidos anteriormente, contendo as seguintes informações: 0, caso o método
tenha encontrado o elemento, 1 caso contrário, seguido pelo número de comparações feitas.
A tabela a seguir apresenta um exemplo do padrão de entrada e saída. Os números de comparações feitas foram
definidos ao acaso, portanto, não condizem com a realidade.
Entrada
2
5 2
Fulano1 0128
Fulano2 0225
Fulano3 0323
Fulano4 0420
Fulano5 0518
31-8888-3333
31-8888-6666
4 2
Fulano4 0420
Fulano5 0128
Fulano6 0225
Fulano7 0323
31-8888-5555
31-8888-8888

Saida
31-8888-1111
1 100
1 101
1 102
1 103
1 104
1 105

31-8888-1111
31-8888-2222
31-8888-3333
31-8888-4444
31-8888-5555

31-8888-6666
0 10
0 20
0 30
0 40
0 50
0 60

31-8888-4444
31-8888-5555
31-8888-6666
31-8888-7777

31-8888-5555
1 110
1 121
1 132
1 143
1 154
1 165
31-8888-8888
0 15
0 26
0 37
0 48
0 59
0 60

3

Imposições e comentários gerais
• Seu programa não pode ter “memory leaks”, ou seja, toda memória alocada deve ser liberada pelo seu código.
• Clareza, identação e comentários no código também serão avaliados. Por isso, escolha cuidadosamente o nome
das variáveis e torne o código o mais legível possível.
• Trabalhos copiados (e FONTE) terão nota zero, além de os alunos envolvidos no plágio perderem toda a nota
atribuída a participação e pontos extras, entre outros (...). Isto vale para qualquer entregável (seção 4).
• Caso seja necessário, alunos poderão ser convocados para entrevista.

2
4

Entregáveis
Deverão ser entregues para avaliação do trabalho:
• Código fonte: código fonte do programa em C.
• Arquivos de entrada e saída: arquivos de entrada e saída utilizados para testar seu programa. Não será
considerada entrada igual ao exemplo dado neste enunciado, procure elaborar um conjunto de testes abrangente,
envolvendo vários contextos distintos (número de elementos, posição do elemento procurado e procura por
elementos inexistentes).
• Documentação: a documentação deve ser entregue em um único arquivo PDF, e conter:
1. Implementação: descrição da implementação do programa. Não faça “print screens” de telas e não inclua
o código fonte. Ao contrário, procure resumir ao máximo a documentação, fazendo referência ao que
julgar mais relevante. É importante, no entanto, que seja descrito o funcionamento das principais funções
e procedimentos utilizados, bem como decisões tomadas relativas aos casos e detalhes de especificação
que porventura estejam omissos no enunciado.
2. Análise comparativa dos métodos: descreva e discuta os resultados dos testes, fazendo uma análise
comparativa dos métodos de pesquisa em relação ao número de comparações.
3. Impressões gerais: descreva o seu processo de implementação deste trabalho. Aponte coisas que gostou
bem como aquelas que o desagradou. Avalie o que o motivou, conhecimentos que adquiriu, entre outros.
4. Conclusão: conclusões e comentários gerais sobre o trabalho.

4.1

Como fazer a entrega

Verifique se seu programa compila e executa na linha de comando (utilizando o compilador GCC) antes de efetuar
a entrega. Quando o resultado for correto, entregue via Moodle dois arquivos .ZIP e um .PDF com seu nome e
sobrenome. Exemplo:
• PrimeiroNome-UltimoNome.zip: este arquivo .ZIP deve conter apenas os arquivos .c e .h, utilizados na
implementação, e os arquivos .TXT de entrada e saída, utilizados para testar seu programa.
• PrimeiroNome-UltimoNome.pdf: este arquivo .PDF deve conter a documentação do trabalho.
Serão criadas duas tarefas no moodle:
1. Entrega dos arquivos de código fonte e arquivos de entrada e saída.
2. Documentação (arquivo .PDF).

3

Mais conteúdo relacionado

Destaque

diapositivas de entradas de Wordpres
diapositivas de entradas de Wordpresdiapositivas de entradas de Wordpres
diapositivas de entradas de Wordpresjanemile
 
PALESTRAS COM APOLÔNIO LACERDA
PALESTRAS COM APOLÔNIO LACERDAPALESTRAS COM APOLÔNIO LACERDA
PALESTRAS COM APOLÔNIO LACERDAPaulo Cardoso
 
Ntics presentacion inteligencias
Ntics presentacion inteligenciasNtics presentacion inteligencias
Ntics presentacion inteligenciasNena Haig
 
Sistema de informacion
Sistema de informacionSistema de informacion
Sistema de informacionCarlos Yanez
 
Lineas de investigación en e learning
Lineas de investigación en e learningLineas de investigación en e learning
Lineas de investigación en e learningAlex Garcia
 
Algumas vezes Charlotte...
Algumas vezes Charlotte...Algumas vezes Charlotte...
Algumas vezes Charlotte...Ronaldo Trentini
 
Aula04 roteadores wireless
Aula04   roteadores wirelessAula04   roteadores wireless
Aula04 roteadores wirelessCarlos Veiga
 
Diferenciancion y pocisionamiento
Diferenciancion y pocisionamientoDiferenciancion y pocisionamiento
Diferenciancion y pocisionamientostephyvago
 
Laminas expo sig (1) (1)
Laminas expo sig (1) (1)Laminas expo sig (1) (1)
Laminas expo sig (1) (1)Yersin Mendoza
 
Prendas e decorações de natal
Prendas e decorações de natalPrendas e decorações de natal
Prendas e decorações de nataleb1penha4
 
Descubrimiento de américa
Descubrimiento de américaDescubrimiento de américa
Descubrimiento de américaKarin H Pizarro
 
Escenarios computacion uno a uno
Escenarios computacion uno a unoEscenarios computacion uno a uno
Escenarios computacion uno a unoDiAniizs Gonzalez
 
mini presentation
mini presentationmini presentation
mini presentationklaguenza
 
Caligrama
CaligramaCaligrama
Caligramacgargon
 
Los desastres naturales
Los desastres naturalesLos desastres naturales
Los desastres naturalesanyercuba
 

Destaque (20)

diapositivas de entradas de Wordpres
diapositivas de entradas de Wordpresdiapositivas de entradas de Wordpres
diapositivas de entradas de Wordpres
 
Slideshare
SlideshareSlideshare
Slideshare
 
PALESTRAS COM APOLÔNIO LACERDA
PALESTRAS COM APOLÔNIO LACERDAPALESTRAS COM APOLÔNIO LACERDA
PALESTRAS COM APOLÔNIO LACERDA
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
A história da educação no brasil
A história da educação no brasilA história da educação no brasil
A história da educação no brasil
 
Ntics presentacion inteligencias
Ntics presentacion inteligenciasNtics presentacion inteligencias
Ntics presentacion inteligencias
 
Sistema de informacion
Sistema de informacionSistema de informacion
Sistema de informacion
 
Lineas de investigación en e learning
Lineas de investigación en e learningLineas de investigación en e learning
Lineas de investigación en e learning
 
Algumas vezes Charlotte...
Algumas vezes Charlotte...Algumas vezes Charlotte...
Algumas vezes Charlotte...
 
Aula04 roteadores wireless
Aula04   roteadores wirelessAula04   roteadores wireless
Aula04 roteadores wireless
 
Diferenciancion y pocisionamiento
Diferenciancion y pocisionamientoDiferenciancion y pocisionamiento
Diferenciancion y pocisionamiento
 
Laminas expo sig (1) (1)
Laminas expo sig (1) (1)Laminas expo sig (1) (1)
Laminas expo sig (1) (1)
 
Prendas e decorações de natal
Prendas e decorações de natalPrendas e decorações de natal
Prendas e decorações de natal
 
Descubrimiento de américa
Descubrimiento de américaDescubrimiento de américa
Descubrimiento de américa
 
Escenarios computacion uno a uno
Escenarios computacion uno a unoEscenarios computacion uno a uno
Escenarios computacion uno a uno
 
mini presentation
mini presentationmini presentation
mini presentation
 
Caligrama
CaligramaCaligrama
Caligrama
 
Debicagem 2013
Debicagem 2013Debicagem 2013
Debicagem 2013
 
Los desastres naturales
Los desastres naturalesLos desastres naturales
Los desastres naturales
 
Escenarios computacion 1:1
Escenarios computacion 1:1Escenarios computacion 1:1
Escenarios computacion 1:1
 

Semelhante a Tp03 (v1)

Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização UnivemAndré Abe Vicente
 
Testes de Software - Módulo 2
Testes de Software - Módulo 2Testes de Software - Módulo 2
Testes de Software - Módulo 2Rodrigo Paes
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e ValidaçãoMarcelo Yamaguti
 
Plano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
Plano de Ensino e Aprendizagem - Manutenção e Configuração de HardwarePlano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
Plano de Ensino e Aprendizagem - Manutenção e Configuração de HardwareVitor Hugo Melo Araújo
 
Aula 7 - MASP - ferramentas da qualidade - 2019-1
Aula 7   - MASP -  ferramentas da qualidade - 2019-1Aula 7   - MASP -  ferramentas da qualidade - 2019-1
Aula 7 - MASP - ferramentas da qualidade - 2019-1IFMG
 
Template de Apresentação Certificação Lean Seis Sigma Black Belt
Template de Apresentação Certificação Lean Seis Sigma Black BeltTemplate de Apresentação Certificação Lean Seis Sigma Black Belt
Template de Apresentação Certificação Lean Seis Sigma Black BeltAndrCarvalho807919
 
Um framework para validação automática de modelos aplicado ao subsistema de e...
Um framework para validação automática de modelos aplicado ao subsistema de e...Um framework para validação automática de modelos aplicado ao subsistema de e...
Um framework para validação automática de modelos aplicado ao subsistema de e...Italo Pinto Rodrigues
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testesAndré Luiz Forchesatto
 
Mini Ficha resolvida de sistemas digitais
Mini Ficha resolvida de sistemas digitaisMini Ficha resolvida de sistemas digitais
Mini Ficha resolvida de sistemas digitaisgeral1231
 

Semelhante a Tp03 (v1) (14)

Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização Univem
 
Modulo 2
Modulo 2Modulo 2
Modulo 2
 
Testes de Software - Módulo 2
Testes de Software - Módulo 2Testes de Software - Módulo 2
Testes de Software - Módulo 2
 
PSI2222
PSI2222PSI2222
PSI2222
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e Validação
 
Plano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
Plano de Ensino e Aprendizagem - Manutenção e Configuração de HardwarePlano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
Plano de Ensino e Aprendizagem - Manutenção e Configuração de Hardware
 
Aula 7 - MASP - ferramentas da qualidade - 2019-1
Aula 7   - MASP -  ferramentas da qualidade - 2019-1Aula 7   - MASP -  ferramentas da qualidade - 2019-1
Aula 7 - MASP - ferramentas da qualidade - 2019-1
 
Projeto de Melhoria
Projeto de MelhoriaProjeto de Melhoria
Projeto de Melhoria
 
Template de Apresentação Certificação Lean Seis Sigma Black Belt
Template de Apresentação Certificação Lean Seis Sigma Black BeltTemplate de Apresentação Certificação Lean Seis Sigma Black Belt
Template de Apresentação Certificação Lean Seis Sigma Black Belt
 
1° Madrugada de Testes
1° Madrugada de Testes1° Madrugada de Testes
1° Madrugada de Testes
 
Um framework para validação automática de modelos aplicado ao subsistema de e...
Um framework para validação automática de modelos aplicado ao subsistema de e...Um framework para validação automática de modelos aplicado ao subsistema de e...
Um framework para validação automática de modelos aplicado ao subsistema de e...
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testes
 
Mini aula de teste de software
Mini aula de teste de softwareMini aula de teste de software
Mini aula de teste de software
 
Mini Ficha resolvida de sistemas digitais
Mini Ficha resolvida de sistemas digitaisMini Ficha resolvida de sistemas digitais
Mini Ficha resolvida de sistemas digitais
 

Último

QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Dança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parteDança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira partecoletivoddois
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasCasa Ciências
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?MrciaRocha48
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfpaulafernandes540558
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoSilvaDias3
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAlexandreFrana33
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyasminlarissa371
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdfDemetrio Ccesa Rayme
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaFernanda Ledesma
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 

Último (20)

QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Dança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parteDança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parte
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de Partículas
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?Empreendedorismo: O que é ser empreendedor?
Empreendedorismo: O que é ser empreendedor?
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdf
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basico
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptx
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
 
treinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppttreinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppt
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão Linguística
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 

Tp03 (v1)

  • 1. BCC202 – Estruturas de Dados I (2013-02) Departamento de Computação - Universidade Federal de Ouro Preto - MG Professor: Reinaldo Fortes (www.decom.ufop.br/reinaldo) Estagiária docente: Josiane Rezende Monitores: Bruno H. M. dos Santos Trabalho Prático 03 (TP03) - Data de entrega: 07/02/2013 até 23:55. O que vale é o horário do Moodle, e não do seu, ou do meu, relógio!!! - Decréscimo por atraso de até: 12h = 30%, 24h = 40%; 36h = 60%; 48h = 70%; Acima de 48h = 100%. - O padrão de entrada e saída deve ser respeitado exatamente como determinado no enunciado. - Parte da correção é automática, não respeitar as instruções enunciadas pode acarretar em perda de pontos. - Bom trabalho! 1 Objetivos Este trabalho prático tem como objetivo principal fundamentar as principais estruturas de dados e os algoritmos de pesquisa apresentados na disciplina. 2 Descrição do Problema Utilizando-se da TAD TContato definida na Prática 04, implemente as seguintes TADs de pesquisa: 1. Pesquisa seqüencial. 2. Pesquisa binária. 3. Árvore binária de pesquisa. 4. Árvore AVL. 5. Tabela hash (utilizando listas encadeadas para tratar colisões). 6. Tabela hash (utilizando a estratégia de endereçamento aberto para tratar colisões). As TADs de pesquisa terão como parte de seus dados um conjunto de contatos que deverá ser representado internamente pela estrutura de dados que melhor convier para cada algoritmo de pesquisa (array ou lista encadeada, por exemplo). Cada TAD de pesquisa deverá possuir pelo menos duas operações: • Construir: contrói a estrutura interna para armazenamento dos contatos. Recebe como argumento de entrada um vetor de contatos. • Pesquisa: realiza a pesquisa por um determinado elemento utilizando o algoritmo correspondente. Recebe como entrada a chave do elemento procurado e retorna se a pesquisa encontrou o elemento procurado e o número de comparações feitas. 2.1 Entrada e Saída A entrada inicia com o número de casos de teste (C) na primeira linha. Em seguida, separados por uma linha em branco, a definição de cada caso de teste. Um caso de teste é definido inicialmente pelo número de contatos a serem considerados (N) e o número de pesquisas a serem feitas (P), ambos na primeira linha de definição do caso de teste. A seguir, serão definidas N linhas contendo as informações de contato: nome, aniversário e telefone (conforme padrão 1
  • 2. adotado na Prática 04). Logo após a definição dos contatos, seguirão P linhas contendo os números de telefone a serem pesquisados. Não deverão existir chaves repetidas na entrada. A saída consistirá do número de telefone procurado, seguido de seis linhas com o resultado dos métodos de pesquisa, na ordem em que eles foram definidos anteriormente, contendo as seguintes informações: 0, caso o método tenha encontrado o elemento, 1 caso contrário, seguido pelo número de comparações feitas. A tabela a seguir apresenta um exemplo do padrão de entrada e saída. Os números de comparações feitas foram definidos ao acaso, portanto, não condizem com a realidade. Entrada 2 5 2 Fulano1 0128 Fulano2 0225 Fulano3 0323 Fulano4 0420 Fulano5 0518 31-8888-3333 31-8888-6666 4 2 Fulano4 0420 Fulano5 0128 Fulano6 0225 Fulano7 0323 31-8888-5555 31-8888-8888 Saida 31-8888-1111 1 100 1 101 1 102 1 103 1 104 1 105 31-8888-1111 31-8888-2222 31-8888-3333 31-8888-4444 31-8888-5555 31-8888-6666 0 10 0 20 0 30 0 40 0 50 0 60 31-8888-4444 31-8888-5555 31-8888-6666 31-8888-7777 31-8888-5555 1 110 1 121 1 132 1 143 1 154 1 165 31-8888-8888 0 15 0 26 0 37 0 48 0 59 0 60 3 Imposições e comentários gerais • Seu programa não pode ter “memory leaks”, ou seja, toda memória alocada deve ser liberada pelo seu código. • Clareza, identação e comentários no código também serão avaliados. Por isso, escolha cuidadosamente o nome das variáveis e torne o código o mais legível possível. • Trabalhos copiados (e FONTE) terão nota zero, além de os alunos envolvidos no plágio perderem toda a nota atribuída a participação e pontos extras, entre outros (...). Isto vale para qualquer entregável (seção 4). • Caso seja necessário, alunos poderão ser convocados para entrevista. 2
  • 3. 4 Entregáveis Deverão ser entregues para avaliação do trabalho: • Código fonte: código fonte do programa em C. • Arquivos de entrada e saída: arquivos de entrada e saída utilizados para testar seu programa. Não será considerada entrada igual ao exemplo dado neste enunciado, procure elaborar um conjunto de testes abrangente, envolvendo vários contextos distintos (número de elementos, posição do elemento procurado e procura por elementos inexistentes). • Documentação: a documentação deve ser entregue em um único arquivo PDF, e conter: 1. Implementação: descrição da implementação do programa. Não faça “print screens” de telas e não inclua o código fonte. Ao contrário, procure resumir ao máximo a documentação, fazendo referência ao que julgar mais relevante. É importante, no entanto, que seja descrito o funcionamento das principais funções e procedimentos utilizados, bem como decisões tomadas relativas aos casos e detalhes de especificação que porventura estejam omissos no enunciado. 2. Análise comparativa dos métodos: descreva e discuta os resultados dos testes, fazendo uma análise comparativa dos métodos de pesquisa em relação ao número de comparações. 3. Impressões gerais: descreva o seu processo de implementação deste trabalho. Aponte coisas que gostou bem como aquelas que o desagradou. Avalie o que o motivou, conhecimentos que adquiriu, entre outros. 4. Conclusão: conclusões e comentários gerais sobre o trabalho. 4.1 Como fazer a entrega Verifique se seu programa compila e executa na linha de comando (utilizando o compilador GCC) antes de efetuar a entrega. Quando o resultado for correto, entregue via Moodle dois arquivos .ZIP e um .PDF com seu nome e sobrenome. Exemplo: • PrimeiroNome-UltimoNome.zip: este arquivo .ZIP deve conter apenas os arquivos .c e .h, utilizados na implementação, e os arquivos .TXT de entrada e saída, utilizados para testar seu programa. • PrimeiroNome-UltimoNome.pdf: este arquivo .PDF deve conter a documentação do trabalho. Serão criadas duas tarefas no moodle: 1. Entrega dos arquivos de código fonte e arquivos de entrada e saída. 2. Documentação (arquivo .PDF). 3