"""
Задание 2.

Реализуйте два алгоритма.

Первый, в виде функции, должен обеспечивать поиск минимального значения для списка.
В основе алгоритма должно быть сравнение каждого числа со всеми другими элементами списка.
Сложность такого алгоритма: O(n^2) - квадратичная.

Второй, в виде функции, должен обеспечивать поиск минимального значения для списка.
Сложность такого алгоритма: O(n) - линейная.

Примечание:
Построить список можно через генератор списка.
Если у вас возникают сложности, постарайтесь подумать как можно решить задачу,
а не писать "мы это не проходили)".
Алгоритмизатор должен развивать мышление, а это прежде всего практика.
А без столкновения со сложностями его не развить.
"""


def min_value_1(lst_obj):
    min_el = lst_obj[0]
    for el in lst_obj:
        for i in lst_obj:
            if el < i and el < min_el:
                min_el = el
    return min_el


def min_value_2(lst_obj):
    min_el = lst_obj[0]
    for el in lst_obj:
        if el < min_el:
            min_el = el
    return min_el


print(min_value_1([55, 1, 0.1, 0, 100]))
print(min_value_2([55, 1, 0.1, 0, 100]))
