Você está na página 1de 2

Pgina 1 de 2

Curso de Cincia da Computao Disciplina: Estruturas de Dados Professor: Josu Pereira de Castro Trabalho para o 4 Bimestre Instrues
1. 2. 3. 4. 5. 6. 7. Este trabalho vale 100 pontos para a 4 Avaliao. Este trabalho deve ser realizado por equipes de at trs (03) alunos. Em nenhuma hiptese sero aceitas equipes com mais de trs alunos. As equipes tm at 09h da manh do dia 13/11/2013 para submeter os trabalhos no sistema Moodle. Aps esta data e hora limite o sistema no aceitar mais submisses. No ser aceita entrega de trabalho por outros meios alm do especicado nestas instrues. Caso ocorram casos de plgio, as equipes envolvidas recebero nota zero. Este trabalho deve ser implementado em linguagem C++ ou Java, em plataforma Linux/Unix.

___________________________________________________________________________ Problema: Implementao de um sistema de manipulao e visualizao de Grafos 1. Dever ser implementado um sistema de manipulao e visualizao de grafos que realize as seguintes operaes sobre grafos: ! Abrir/Salvar grafo: deve permitir abrir/salvar um arquivo texto com as informaes referentes ao grafo e a partir destas informaes montar o grafo em memria. (05 pts.) ! Inserir vrtice: Deve realizar a insero de um novo vrtice no grafo. (05 pts.) ! Inserir Aresta: Deve realizar a insero de uma aresta no grafo, entre vrtices j existentes. (05 pts.) ! Remover vrtice: Deve realizar a remoo de um vrtice, removendo tambm todas as arestas conectadas a ele. (05 pts.) ! Remover aresta: Deve remover uma aresta do grafo, sem no entanto remover qualquer vrtice ligado a mesma. (10 pts.) ! Grafo Conexo: Deve vericar se o grafo ou no conexo, exibindo uma mensagem com esta informao. (10 pts.) ! Goodman (Componentes Conexos): deve calcular o nmero de componentes conexos do grafo e exibindo esta informao. (10 pts.) ! Grafo Euleriano: Vericar se um grafo Euleriano ou no, e exibir esta informao. (10 pts.) ! Fleury (Ciclo Euleriano): Se o grafo for Euleriano, encontrar o ciclo

Pgina 2 de 2 euleriano utilizando o Algoritmo de Fleury, a partir de um n informado. (10 pts.) Busca em Profundidade: Deve realizar uma busca em profundidade no grafo e imprimir o trajeto encontrado (sequncia de arestas percorridas) a partir de um n informado. (10 pts.) Busca em Largura: Deve realizar uma busca em largura no grafo e imprimir o trajeto encontrado (sequncia de arestas percorridas) a partir de um n informado. (10 pts.) Dijkstra (Caminho de custo mnimo): Deve realizar o clculo do caminho de menor custo entre um vrtice de origem e um vrtice de destino informado, exibindo a trajetria calculada. (10 pts.)

Poder ser utilizada qualquer linguagem de programao (C++ ou Java) para o desenvolvimento da aplicao. Poder ser utilizada qualquer forma de representao para os vrtices e arestas. Os vrtices devero ter as seguintes informaes associadas: (a) Coordenadas (x, y): posio do vrtice na tela. (b) Rtulo: uma string que identica o vrtice. As arestas devero ter as seguintes informaes associadas: (a) rtulo: uma string que identica a aresta. (b) custo: representa o custo de se percorrer a aresta (p. ex.: distncia em Km).