Вася изучил алгоритм сортировки пузырьком по неубыванию. он решил реализовать его для массива целых чисел [13, 18, 7, 4, 10, 14, 15, 17, 2, 5, 9, 16, 11, 3, 20, 6, 19, 12, 8, 1] так: выбираем два случайных соседних элемента в массиве, если левый больше правого, меняем их местами, иначе ничего не делаем. из любопытства, после каждого обмена он выводил новый массив на экран. через какое-то время на экране оказался массив [4, 7, 2, 5, 10, 9, 13, 11, 3, 14, 6, 15, 12, 8, 1, 16, 17, 18, 19, 20], а компьютер завис. сколько операций обмена было сделано за время работы программы? в качестве ответа укажите одно натуральное число, например, 100. пример. пусть был массив [5, 4, 3, 2, 1], а через некоторое время появился массив [4, 5, 3, 1, 2]. тогда за время работы программы было сделано две операции обмена — поменялись местами числа 5 и 4 и числа 2 и 1.
269
417
Ответы на вопрос:
Назовём инверсией пару элементов массива, в котором элемент с меньшим номером больше элемента с большим номером. заметим, что после каждого обмена число инверсий в массиве уменьшается на 1. тогда, посчитав число инверсий до работы программы и после, и вычтя из первого второе, мы получим число операций обмена. массив небольшой, и можно подсчитывать инверсии как угодно. python 3.5: before = [13, 18, 7, 4, 10, 14, 15, 17, 2, 5, 9, 16, 11, 3, 20, 6, 19, 12, 8, 1] after = [4, 7, 2, 5, 10, 9, 13, 11, 3, 14, 6, 15, 12, 8, 1, 16, 17, 18, 19, 20] def countinversions(arr): counter = 0 for i in range(len(arr) - 1): for j in range(i + 1, len(arr)): if arr[i] > arr[j]: counter += 1 return counter print(countinversions(before) - countinversions(after)) ответ: 60.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
avamini200704.05.2022 05:05
-
marinavn200817.01.2022 11:02
-
dgony200322.12.2020 04:22
-
Треугольник22821.08.2021 14:49
-
живууууу24.11.2021 05:51
-
jon1007959501.02.2022 05:37
-
schapalenko11.05.2021 02:14
-
iuliaminakowa24.05.2021 18:15
-
baha5024.01.2023 18:09
-
polikzaisheva1212.11.2021 02:41
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.