Заполнение потока с помощью рекурсии - Python - PullRequest
0 голосов
/ 05 декабря 2018

Я должен решить известную проблему заливки рекурсивно, не используя какой-либо модуль.

Моя функция должна получить матрицу «изображения», которая содержит «*» и «.», Икортеж, который указывает источник по строке и столбцу.Можно предположить, что рамка изображения заполнена только '*', а элемент начальной точки равен '.'.Функция должна изменить с самого начала все «.»'*' с правилами перемещения в заливке.

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

Я искал проблему, как 2 часа и ничего.

Вот мой код:

def f_f(image, start):
    i, j = start[0], start[1]
    f_f_helper(image, i, j)


def f_f_helper(image, i, j):
    if image[i][j] == '.':
        image[i][j] = '*'

    if i > 0:
        f_f_helper(image, i - 1, j)
    if i < len(image) - 1:
        f_f_helper(image, i + 1, j)
    if j > 0:
        f_f_helper(image, i, j - 1)
    if j < len(image[0]) - 1:
        f_f_helper(image, i, j + 1)

И еще одна вещь, как формально рассчитать время работы с большимО записи?

Спасибо.

...