Создание псевдокода и определение его временной сложности

#for-loop #time-complexity #pseudocode

Вопрос:

Это вопрос программирования об основах:

Как написать простой псевдокод функции, которая принимает в качестве входных данных n оценок, а затем вычисляет среднее значение оценок.

Какова его временная сложность ?

Комментарии:

1. Ты забыл задать вопрос.

Ответ №1:

Существует множество способов борьбы с псевдокодом.

Поэтому, в зависимости от автора, псевдокод может сильно различаться по стилю, от почти точной имитации реального языка программирования, с одной стороны, до описания, приближающегося к форматированной прозе, с другой. википедия

Хорошие общие рекомендации, например, можно найти здесь. Идея состоит в том, чтобы быть краткой, но ясной и точной. Например, более новые используют символ аффектации в стиле C «=», предпочитая вместо этого использовать»:=».

Отвечая на вопрос:

 FUNCTION: compute_grades_average()
    INPUTS: 
        n: int # number of grades
        grades: Array[float] # grades, with floats between 0 and 1
    OUTPUTS:
        average: float
    BODY:
        sum := 0
        FOR grade in grades:
            sum := sum   grade
        average := sum / n
        RETURN average
 

Существует только один цикл размером n, поэтому временная сложность равна O(n).