Обход матрицы в четырех направлениях: итерационные и рекурсивные методы для эффективного обхода

Под «Обходом матрицы в четырех направлениях» подразумевается процесс перемещения матрицы (двумерного массива) в четырех различных направлениях: вверх, вниз, влево и вправо. Вот несколько способов добиться этого обхода:

Метод 1: итеративный подход

  1. Инициализировать начальную позицию в верхнем левом углу матрицы.
  2. Установите направление обхода вправо.
  3. Итерировать до тех пор, пока не будут посещены все элементы в матрице:
    • Двигайтесь в текущем направлении и посетите элемент.
    • Если текущее направление вправо и достигает конца строки или встречается посещенный элемент, измените направление на вниз.
    • Если текущее направление направлено вниз и достигает низа или встречает посещенный элемент, измените направление налево.
    • Если текущее направление — влево и достигает начала строки или встречается посещенный элемент, измените направление на вверх.
    • Если текущее направление вверх и достигает вершины или встречается с посещенным элементом, измените направление вправо.

Метод 2: рекурсивный подход

  1. Определите рекурсивную функцию для обхода матрицы.
  2. Базовый случай: если текущая позиция находится за пределами границ или текущий элемент посещен, возврат.
  3. Посетить текущий элемент и отметить его как посещенный.
  4. Рекурсивное перемещение в каждом из четырех направлений (вверх, вниз, влево, вправо) от текущей позиции.