private MemoryNode encontrarHojaDondeEstaQ(MemoryNode node, double[] q) throws IOException {
		comparaciones++;
		node.setVisitado(1);
		if (node.getLeft() == null || node.getRight() == null) {
			double distNueva = Math
					.sqrt((Math.pow((q[0] - node.getX()), 2) + Math.pow(
							(q[1] - node.getY()), 2)));
			distActual = distNueva;
			mejorActual[0] = node.getX();
			mejorActual[1] = node.getY();
			return node;
		} else {
			if ((node.getX() == 0 && q[1] > node.getY())
					|| (node.getY() == 0 && q[0] > node.getX())) {
				return encontrarHojaDondeEstaQ(node.getRight(), q);
			} else {
				return encontrarHojaDondeEstaQ(node.getLeft(), q);
			}
		}
	}