def find_min_max(data):
    """Solution to exercise C-4.9.

    Write a short recursive Python function that finds the minimum and
    maximum values in a sequence without using any loops.
    """
    n = len(data)
    min_val = data[0]
    max_val = data[0]

    def recurse_minmax(idx):
        nonlocal min_val, max_val
        if idx == n:
            return min_val, max_val  # Base case
        if data[idx] > max_val:
            max_val = data[idx]
        elif data[idx] < min_val:
            min_val = data[idx]
        return recurse_minmax(idx + 1)

    return recurse_minmax(1)