Trabalho Computação ED

Páginas: 7 (1505 palavras) Publicado: 20 de janeiro de 2014
CRIAÇÃO DE UMA KD TREE DE DUAS DIMENSÕES
Relatório da Primeira Etapa

1. DESCRIÇÃO DAS ATIVIDADES REALIZADAS :

Esta etapa do trabalho contou com a participação dos membros da equipe, os quais se reuniram para discutir ou resolver algumas questões do trabalho. Este trabalho foi feito na linguagem de programação Java, o que demandou algumas adaptações em estruturas apresentadas paraexibição dos pontos em tela. As tarefas foram divididas e delegadas a cada um dos membros, visando uma maior agilidade no desenvolvimento do trabalho. A divisão a seguir apresenta a participação de cada membro no trabalho:

Célio: Correção dos erros e melhoria na implementação dos métodos da etapa do trabalho; implementação das funções pedidas no trabalho; verificação, melhoria e correção de código;escrita do relatório;

Felipe: Verificação, melhoria e correção de código; realização de testes; escrita do relatório; implementação de código para exibir vizinhos em uma busca que não retornou um local.

Pedro: Apoio nas buscas relacionadas ao conteúdo do trabalho;


2. DESCRIÇÃO DAS PRINCIPAIS FUNÇÕES (MÉTODOS) IMPLEMENTADAS EM CADA CLASSE:

2.1 – Classe KDTRee:

Esta classe possui osmétodos de busca e contrução de uma kd tree.

private void verificaVizinhos(KdTreeNode raiz, double coordX, double coordY);

Esse método guarda os 3 vizinhos mais próximos a coordenada pesquisada pelo usuário.

É utilizado uma lista auxiliar global para armazenar os vizinhos. As 3 primeiras chamadas ao método já adicionam direto no vetor o nó, já que este possui posições livres. A partir daquarta chamada ao método é verificado se o candidato a vizinho possui distância menor que o vizinho de maior distancia armazenado.

É feito a ordenação dos vizinhos em relação a distancia para coordenadas de busca. O vizinho com maior distância será utilizado para comparação com o nó candidato. Caso o nó candidato possua a distancia menor que a do vizinho, o nó atual será inserido na lista nolugar do nó vizinho .

private void limpaDados:

Método para limpar as variáveis gloabais ao efetuar uma nova busca.

public KdTreeNode busca(KdTreeNode raiz, double coordX, double coordY, int profundidade);

Esta função é a responsável por efetuar a busca binária pelo nó da classe KdTreeNode que possui as informações a latitude e longitude que serão comparadas comas coordenadas passadas .

O método de busca inicialmente efetua a verificação se a raiz passada é nula, caso seja o método não continua a sua execução e retorna nulo. Caso a raiz não seja nula é efetuada a verificação de qual coordenada deve ser comparada, isto é feito em relação a profundidade divindade pela dimensão (no nosso caso dimensão é 2), caso a divisão de resto zero será feito acomparação dos valores de longitude, caso contrario será feito a comparação com a longitude .

Após a verificação de qual coordenada deve ser comparada é realizado a verificação dos valores passados com o valor atual da raiz. Caso os valores sejam iguais as coordenadas passadas retorno o nó como sendo o nó procurado (Longitude = coodX e latitude = coordY).

Caso o valor das coordenadas não sejamiguais ao do nó raiz, é feito a verificação se a coordenada (de acordo com a coordenada escolhida para comparação) passada como parâmetro é maior ou igual que a coordenada do nó raiz. Caso seja é feito a buca na arvore da direita da raiz. Caso a coordenada seja menor ou igual que a coordenada do nó raiz,é feito a buca na arvore da esquerda da raiz. (foi utilizado como comparação o operando de“maior ou igual” e “menor igual” pois poderíamos ter o valores repetidos para uma coordenada X com Y distinto, e vice-versa)

A cada chamada do método busca é feito a chamada do método verificaVizinhos caso ocorra inssucesso da verificação das coordenadas com o nó atual. O método verificaVizinhos é responsável por verificar se o nó atual é um vizinho próximo a coordenada passada.

Caso...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Ed Computacao Nuvem
  • ED
  • Computação ed Alto desempenho
  • ED
  • Trabalho de Computação
  • TRABALHO DE COMPUTACAO
  • Trabalho de Computação
  • Trabalho computação

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!