MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE MATO GROSSO CAMPUS ARAGUAIA CURSO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO UFMT DISCIPLINA: ESTRUTURA DE DADOS II PROFESSOR: THIAGO P. DA SILVA ALUNO: DATA: 27/08/2013 R.A.: TERCEIRA ATIVIDADE AVALIATIVA Tema 1 – Compressão de dados com algoritmo de Huffman. Descrição: Desenvolva um programa que compacte um arquivo de texto. E também faça o procedimento inverso, ou seja, descompacte o arquivo. Entrada: arquivo de texto codificado em UTF-8. Opção de compactar ou contrário. Saída: arquivo de texto compactado, caso seja selecionado a função de compactação. Tema 2 – Determinar as ligações entre páginas HTML. Descrição: Forneça as funcionalidades necessárias para descobrir quais são as páginas mais referenciadas (maior quantidade de links incidentes) e aquelas que não possuem nenhum link incidente (isoladas). Entrada: pasta com várias páginas html. Cada página html terá o nome pagN.html, onde N varia de 1 até 100. Saída: Saída padrão informando os resultados das operações selecionadas. Tema 3 – Mapa de trabalhos científicos e Autores Descrição: É preciso saber qual é o pesquisador que mais aparece nas referências bibliográficas de uma dissertação. Um pesquisador pode ser autor ou coautor de vários trabalhos. É de se esperar que um pesquisador tenha várias publicações com outros parceiros. Também, é interessante saber quais são os pesquisadores que colaboram mais com os demais e aqueles que menos colaboraram. Entrada: arquivo de texto com uma lista de trabalhos científicos. Cada linha deste arquivo contêm o nome do autor e coautores, separados por vírgula, além do título do trabalho que vem após um ponto. Exemplo: Thiago, Joao, Paulo, Fulano. Open Context Toolkit. Fulano, Maria. Caracterização do PI Thiago. Um Middleware para ambiente ubíquos. Saída: Saída Padrão com resultados das operações. Atenção: Submeter trabalho no sistema do professor até as 12h do dia 12/09/2013. Todos devem apresentar o trabalho até as 18h do dia 12/09/2013. A nota é individual! Tema 4 – Planejamento de Viagem Descrição: Dado um conjunto de cidades e as distâncias entre as estradas que interligam as cidades, calcule o menor caminho entre duas cidades deste conjunto. Entrada: Arquivo de texto com M cidades, sendo M<1000. Cada cidade está em uma linha. Após as cidades, existe um número Q, tal que 1<Q<1000, que representa as conexões entre as cidades, isto é, as estradas que interligam as cidades. Por exemplo: 4 Goiânia BarradoGarças Cuiabá AltoAraguaia 5 BarradoGarças Cuiabá 500 BarradoGarças AltoAraguaia 300 Cuiabá AltoAraguaia 300 Goiania BarraDoGarças 400 Goiania AltoAraguaia 500 Saída: Percurso e menor distância entre duas cidades distintas. Caso não exista um caminho entre as cidades imprima na tela “Não existe caminho entre A e B”, onde A e B são as cidades. Tema 5 – Soma e produto de números inteiros positivos de precisão ilimitada. Descrição: Faça um programa que efetue a soma e produto de números inteiros positivos de precisão ilimitada. Por exemplo: 45465435486515344444444444448888888888888888888888865465536543231451423314213423454342314132413 544354431423143421342314234132413243142341231432413421365231654564 + 2564618165313341341343414324132413324134314331433241641321861684654165 Entrada: Dois número grandes, codificados como uma sequência de caracteres, que devem ser lidos de um arquivo. Cada linha do arquivo contém um número. A terceira linha contém a operação desejada, soma ou produto. Saída: Saída padrão. O resultado não pode ser abreviado ou ser impresso em termos de potência como, por exemplo, o resultado do enunciado, 4,546543549×10¹⁶⁰. Tema 6 – Amigos dos meus amigos que não são meus amigos Descrição: João é um cara muito ciumento e não aceita que seus amigos tenham amigos que ele não conheça. João precisa da sua ajuda para descobrir quem são os amigos dos amigos de joão que não são seus amigos. Ele planeja fazer alguma coisa com os amigos dos seus amigos. Não sei o que é! Entrada: Arquivo de texto. Cada linha contém um par de pessoas que representa uma relação de amizade. O arquivo termina quando 0 0 é encontrado. Por exemplo: João Carine Carine José João Pedro José Joaquina 00 Saída: Saída Padrão. Informe quais são os amigos dos amigos de joão que ele não conhece. Observe que no exemplo João é amigo de Carine, que é amigo de José. José tem um relacionamento de amizade com Joaquina, mas Carine não conhece Joaquina. Portanto Joaquina não faz parte do conjunto de saída esperado pelo algoritmo. Atenção: Submeter trabalho no sistema do professor até as 12h do dia 12/09/2013. Todos devem apresentar o trabalho até as 18h do dia 12/09/2013. A nota é individual!