Buscar

Implementação de Árvore Binária em Java

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

public class ArvoreBinaria {
	private No source;
	Integer toLeft = 0;
	public void placing(long id, Object element) {
		No newNo = new No(id, element, null, null);
		if (source == null) {
			source = newNo;
		} else {
			No current = source;
			No dad;
			while (true) {
				dad = current;
				if (id < current.getId()) {
					current = current.getLeft();
					if (current == null) {
						dad.setLeft(newNo);
						return;
					}
				} else {
					current = current.getRight();
					if (current == null) {
						dad.setRight(newNo);
						return;
					}
				}
			}
		}
	}
	private void prefixed(No newNo) {
		if (newNo != null) {
			System.out.println("Id: " + newNo.getId() + " Elemento: " + newNo.getElement());
			prefixed(newNo.getRight());
			prefixed(newNo.getLeft());
			if (newNo.getRight() != null) {
				toLeft++;
			}
		}
	}
	private long calculateHeight(No newNo, long a) {
		if (newNo != null) {
			long e;
			e = calculateHeight(newNo.getLeft(), a) + 1;
			return a + e;
		}
		return a;
	}
	public void printElements() {
		prefixed(source);
		System.out.println("Número de nos a esquerda " + toLeft);
	}
	public long fullLeft() {
		long a = 0;
		return calculateHeight(source, a);
	}
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando