подтверждение моего эксперимента с инверсией счета

Я написал алгоритм сортировки слиянием (разделяй и властвуй), и я хочу использовать следующие массивы, чтобы проверить, эффективно ли работает инверсия.

Итак, я просто хотел бы подтвердить инверсию для каждого из следующих массивов.

1. {10,2,3,22,33,7,4,1,2} = 13
2. {4,5,6,1,2,3} = 9
3. {1,20,6,4,5} = 5
4. {3,1,2,0,4} = 5

все это правильно? Я знаю, что задавался аналогичный вопрос, но я просто хочу подтвердить, был ли мой расчет верным. с этим я могу протестировать свой алгоритм. Кроме того, это не домашнее задание. Я просто хочу быть настолько уверенным, что у меня есть счетчик инверсии записи, чтобы я мог проверить его на своем коде ...


person helpdesk    schedule 02.07.2013    source источник
comment
Напишите менее умную и более прямолинейную реализацию инверсионного подсчета (т.е. сравните все со всем) и посмотрите, совпадают ли результаты.   -  person millimoose    schedule 03.07.2013
comment
Затем для хорошего тестирования вы можете сгенерировать случайные последовательности случайной длины и выполнить ту же проверку.   -  person Karoly Horvath    schedule 03.07.2013


Ответы (1)


No.

Ваш результат для первого случая должен быть 22. Кроме того, вы не таким способом проверяете эффективность вашего кода. Вы должны попытаться проверить некоторые сайты конкурентного программирования на предмет подобных проблем. Например, проблема в spoj для инверсии счета. Ссылка здесь:

http://www.spoj.com/problems/INVCNT/

Попробуйте отправить его туда.

person banarun    schedule 03.07.2013