def knotvector_normalize(knotvector=()):
    """ Normalizes the input knot vector between 0 and 1.

    :param knotvector: input knot vector
    :type knotvector: tuple
    :return: normalized knot vector
    :rtype: list
    """
    if len(knotvector) == 0:
        return knotvector

    first_knot = float(knotvector[0])
    last_knot = float(knotvector[-1])

    knotvector_out = []
    for kv in knotvector:
        knotvector_out.append((float(kv) - first_knot) / (last_knot - first_knot))

    return knotvector_out