Задать вопрос
Ответы пользователя по тегу Массивы
  • Как сделать комбинацию значений из двух массивов?

    Рекурсия(0,"")

    function Рекурсия(Level, Строка)
    Если Level>колво_массивов, то выдать текущее значение строки
    иначе цикл по кол-ву элементов в массиве:
    - Рекурсия(Level+1, Строка+";"+"имя_массива"+":"+"значение_элемента")
    Ответ написан
    Комментировать
  • Как задать перемешивание массива относительно коротким числом параметров?

    Наиболее быстрым в Вашей постановке мне кажется использование ГПСЧ на основе
    линейного конгруэнтного метода с условиями:
    1) m=2^L (где L - округл.вверх от log2(N+1))
    2) a mod 4 = 1
    3) c mod 2 = 1
    (это приведет к перебору всех чисел от 0 до m-1 строго по одному разу)
    и игнорированием всех чисел, больших чем N
    (a, c, X0 - параметры, определяющие перестановку).

    Вот пример работы для N=21 (m=32)
    A=25 C= 3 X0=22: 9;4;7;18;5;3;14;1;10;6;20;2;21;16;19;17;12;15;13;8;11;
    A= 9 C= 9 X0=17: 2;5;15;16;10;3;4;13;1;18;11;12;21;6;9;19;20;14;7;8;17;
    A=17 C=21 X0= 2: 17;11;16;5;10;4;19;13;18;7;12;1;6;21;15;20;9;14;3;8;2;
    A=17 C=25 X0=12: 5;14;7;16;9;18;11;20;13;15;17;19;21;2;4;6;8;1;10;3;12;

    Есть методы с сортировкой, но они потребуют объемов памяти, равных N. Могу описать, если интересно ...
    Кстати, каков порядок и верхняя граница N ?
    Ответ написан
    2 комментария
  • Как найти определенную "фигуру" в двумерном массиве?

    Слишком мало входных данных:
    - каков средний/максимальный размер поля;
    - каков средний/максимальный размер искомого элемента;
    - что является инвариантным между событиями поиска: поле, искомый элемент или ни то и ни другое.

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