Алгоритмы слияния, пересечения, разности и объединения массивов на JavaScript
Слияние массивов на JavaScript
Постановка задачи. Пусть заданы два числовых массива A и B, упорядоченных по возрастанию. Требуется написать функцию, возвращающую третий массив C, также упорядоченного по возрастанию и содержащего элементы как массива A, так и массива C.
Опишем алгоритм решения данной задачи, который называется алгоритмом слияния двух упорядоченных массивов. Чтобы объединить два упорядоченных массива A и B в упорядоченный массив C, используется цикл for, который помещает элемент в массив C на каждой итерации. Если A исчерпан, элемент берется из B; если исчерпан B, то элемент берется из A; если же элементы остаются и в том и в другом массиве, наименьший из оставшихся элементов в A и B переходит в C.
Пример реализации алгоритма слияния на JavaScript.
Множественное слияние массивов на JavaScript. Ниже представлена рекурсивная функция для множественного слияния, которая позволяет сливать более двух массивов.
Пересечение двух массивов и — это массив только с теми элементами и , которые одновременно принадлежат обоим массивам, без дублей.
Сложность алгоритма , где m и n — длины входных массивов и соответственно.
Разность двух массивов A и B — это массив с элементами A, несовпадающими с элементами B, без дублей.
Сложность алгоритма , где m и n — длины входных массивов A и B соответственно.
Множественное объединение упорядоченных массивов. Ниже представлена рекурсивная функция для множественного объединение упорядоченных массивов, которая позволяет объединять более двух массивов