Я пишу простую Java-программу, которая будет вводить текстовый файл, в котором будет несколько чисел, представляющих (nxn) -матрицу, где числа разделены пробелами.Например:
1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
Затем я хочу сохранить эти числа в структуре данных, которую я затем буду использовать для манипулирования данными (которая будет включать сравнение чисел приличия, а также удаление определенных чисел на основе определенных правил.Если число удалено, все остальные числа над ним уменьшаются на количество пробелов.В приведенном выше примере, скажем, я удаляю 8 и 9, результат будет:
() 2 3 ()
1 6 7 4
5 1 2 3
4 5 6 7
так что числападают в их столбцах. И, наконец, данная матрица всегда будет квадратной (поэтому всегда nxn, где n всегда будет задано и всегда будет положительным), поэтому структура данных должна быть гибкой, чтобы фактически принимать любое значение n.
Первоначально я реализовывал это в двумерном массиве, но я бродил, если у кого-то была идея лучшей структуры данных, которую я мог бы использовать для повышения эффективности (то, что позволит мне большебыстрый доступ ко всем соседним числам в матрице (строки и столбцы). В конечном итоге, программа mu автоматическиck смежных чисел против правил, я удаляю числа, переформатирую матрицу и продолжаю, и в конце я хочу иметь возможность создать ИИ, который удалит как можно больше чисел из матрицы за наименьшее количествоперемещается, насколько это возможно, для любой матрицы nxn.