Captain
@Captain
Делаем сложный функционал под Joomla и не только

Как найти расхождения в сортировке массивов?

Есть одномерный эталонный массив в котором содержатся элементы в правильном порядке. Нужно его сравнить с другим массивом, где порядок элементов может отличаться. И выразить это расхождение нужно какой-то численной метрикой.
Есть ли какие-то готовые решения по этому поводу?
  • Вопрос задан
  • 559 просмотров
Пригласить эксперта
Ответы на вопрос 5
Stalker_RED
@Stalker_RED
Если содержимое массивов одинаковое, и отличается только перестановками, то можно применить алгоритм Вагнера-Фишера, или Хишберга если всем операциям кроме транспозиции цену задрать.
Ответ написан
LaRN
@LaRN
Senior Developer
Можно попробовать вычислить разницу между индексами одного и того же элемента в двух массивах и найти сумму этих разниц для всех элементов. Разницу брать по модулю, чтобы плюсы/минусы не влияли на результат.
Если в массивах некоторые элементы дублируются, то нужно запоминать индексы уже проверенных элементов чтобы не сравнивать их повторно.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
первыйМассив.зип(второйМассив).мап(абс(первыйЭлемент-второйЭлемент)).сумм
П. С.
если не понятно - то это сумма разностей элементов, по модулю.
если элементы не числа, то вам самостоятельно нужно придумать метрику для сравнения элементов.
Ответ написан
@v_m_smith
лучше бы я пил и курил
Возможно, старый вопрос вам поможет. Там что то интересное про оценку периодических функций через ряды Фурье Как правильно сравнить массивы и оценить их схожесть?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bnovo Санкт-Петербург
от 110 000 до 140 000 ₽
LAPTOP.RU Москва
от 150 000 до 190 000 ₽
LAPTOP.RU Москва
от 130 000 до 170 000 ₽
07 мар. 2021, в 03:18
1500 руб./за проект
06 мар. 2021, в 22:58
70000 руб./за проект
06 мар. 2021, в 22:36
10000 руб./за проект