·

Cursos Gerais ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Recommended for you

Preview text

EXEMPLO DE USO DA ARVORE void procedimento1 Circle c XyyTree arvCircs Cria arvore e insere elementos circulos dentro dela arvCircs newXyyTree030 cria varios circulos for int i 10 i 100 i i 10 cria circulo com centro em ii raio 300 c newCircleii300 blue yellow insertXyyTarvCircsgetXcgetYcc Seleciona elementos que estao dentro de uma regiao Lista nodesCircsDentroReg getInfosDentroRegiaoXyyTt2500200070006000 circuloDentroRetangulo Processa nos selecionados Node n1 for n1 getFirstnodesCircsDentroReg ni NULL n1getNextnodesCircsDentroReg n1 Circle c2 Circle getInfoXyyTarvCircsn1 mudaCorPreencimentoc2blue Verifica se a informacao Circle i esta dentro do regiao especificada pelos parametros Retorna verdadeiro em caso afirmativo falso caso contrario bool circuloDentroRetanguloInfo i double x1 double y1 double x2 double y2 Circle c Circle i double xc getXc double yc getYc double raio getRaioc bool interno xcraio x1 xcraio x2 ycraio y1 yc raio y2 return interno ALGUMAS ANOTACOES SOBRE DETALHES DE IMPLEMENTACAO DA ARVORE xyytreec anotacoesalgoritmos void removeNoXyyTXyyTree t Node n se ehFolhan caso 1 remove no senao se possuiApenasUmFilhon caso 2 puxa para cima o filho e remove n senao caso 3 marca como removido marcaRemovidotn fim se void marcaRemovidoXyyTree t Node n n removido true tnumRemovidos se fatorDegradacaot t limiar reorganizaArvoret void reorganizaArvoret Node nosValidos15 int ult 1 para cada no nd de t faca se nao ndremovido ult nosValidosult nd se ult 14 reinseretnosValidosult ult 1 fim para se ult 0 entao reinseretnosValidosult fim se void reinseretnosValidosult nao esquecer de parar a recursao Node ndMeio no que esta na metade do vetor insereXyyTt getXndMeio getYndMeio getInfondMeio Invoca recursivamente reinsere na metade esquerda de nos validos Invoca recursivamente reinsere na metade direito do vetor