Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Arbol<E> {
- private Node raiz;
- private int NodeCount;
- public Node getRaiz() {
- return raiz;
- }
- public void setRaiz(Node raiz) {
- this.raiz = raiz;
- }
- public boolean isEmpty() {
- return this.raiz == null;
- }
- public Arbol(Node raiz) {
- this.raiz = raiz;
- }
- public Arbol(E item) {
- this.raiz = new Node(item);
- }
- public Arbol(E item, Arbol<E> ramaIzq, Arbol<E> ramaDer) {
- this.raiz = new Node(item);
- if(ramaIzq != null) {
- this.raiz.Izq = ramaIzq.raiz;
- }
- if(ramaDer != null) {
- this.raiz.Der = ramaDer.raiz;
- }
- }
- public String toString() {
- return toString(this.raiz);
- }
- public String toString(Node raiz) {
- StringBuilder sb = new StringBuilder();
- if(raiz != null) {
- sb.append(raiz.item.toString());
- if( raiz.Izq != null) {
- sb.append("("+toString(raiz.Izq));
- if(raiz.Der != null) {
- sb.append(","+toString(raiz.Der));
- }
- else
- sb.append(",");
- sb.append(")");
- }
- else {
- if(raiz.Der != null) {
- sb.append("(,"+toString(raiz.Der)+")");
- }
- }
- }
- return sb.toString();
- }
- public int MaxLevel() {
- if(!isEmpty()) {
- return MaxLevel(this.raiz);
- }
- else
- return -1;
- }
- private int MaxLevel(Node raiz) {
- if(raiz != null) {
- if((raiz.Izq != null)||(raiz.Der != null)) {
- int leftLevel = MaxLevel(raiz.Izq);
- int rightLevel = MaxLevel(raiz.Der);
- return 1+Math.max(leftLevel, rightLevel);
- }
- }
- return 0;
- }
- private class Node {
- public E item;
- public Node Izq;
- public Node Der;
- public E getItem() {
- return item;
- }
- public void setItem(E item) {
- this.item = item;
- }
- public Node() {
- this.item = null;
- this.Izq = this.Der = null;
- }
- public Node(E item) {
- this.item = item;
- this.Der = this.Izq = null;
- }
- public void Visit() {
- System.out.print(this.item.toString()+" ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement