Árvore Binária

488 palavras 2 páginas
SISTEMAS DE INFORMAÇÃO

ESTRUTURA DE DADOS II

ÁRVORE BINÁRIA

Gustavo Caldas -­‐ 2008102892

FORTALEZA 2011

public class ArvoreBinaria {
/* Atributo de classe: variável que possui referência para o nó raiz da arvore binária */ private No raiz;
/* Método para inserção ordenada na árvore binária */ public void inserOrd(int mat, String nome){ if (raiz == null){ raiz = new No(mat, nome);
}else{
insere(mat, nome, raiz);
}
}
/* Metodo recursivo */ private void insere(int mat, String nome, No no){ if (mat == no.getMatricula())
System.out.println("Matrícula " + no.getMatricula()+
" já cadastrada para " + no.getNome());

}

if (mat < no.getMatricula()){ if (no.getFilhoEsq() == null){
No no_aux = new No(mat,nome); no.setFilhoEsq(no_aux); no_aux.setPai(no);
}else{
insere(mat, nome, no.getFilhoEsq());
}
}else{ if (mat > no.getMatricula()){ if (no.getFilhoDir() == null){
No no_aux = new No(mat,nome); no.setFilhoDir(no_aux); no_aux.setPai(no);
}else{
insere(mat, nome, no.getFilhoDir());
}
}
}

/* Metodo para pesquisar o nome de um Aluno pela matrícula */ public String pesquisaAluno(int mat){ if (getRaiz() == null) return "Não existe árvore"; else{ if (pesquisaAluno(mat,raiz) != null) return pesquisaAluno(mat,raiz).getNome(); else return "Não existe aluno com a matrícula " + mat;
}
} private No pesquisaAluno (int mat, No no){ if (mat == no.getMatricula()) return no; else{ if (mat < no.getMatricula()){ if (no.getFilhoEsq() == null){ return null;
}else
return pesquisaAluno(mat, no.getFilhoEsq());
}else{

if (mat > no.getMatricula()){ if (no.getFilhoDir() == null){ return null;
}else
return pesquisaAluno(mat, no.getFilhoDir());
}
else{ return null;
}

}

}

}

public void removeAluno(int mat){
//código Java faltando - apagar o return abaixo!!!
}
/* Métodos de acesso */ private No getRaiz(){ return raiz;
}
/*

Relacionados

  • Arvore Binaria
    2327 palavras | 10 páginas
  • Arvore binária
    1053 palavras | 5 páginas
  • Arvore binaria
    474 palavras | 2 páginas
  • Arvore binaria
    660 palavras | 3 páginas
  • árvore binária
    917 palavras | 4 páginas
  • Arvore Binaria
    555 palavras | 3 páginas
  • Arvore Binaria
    865 palavras | 4 páginas
  • Arvore Binaria
    1080 palavras | 5 páginas
  • Árvore Binárias
    1501 palavras | 7 páginas
  • Arvore Binaria
    691 palavras | 3 páginas