1. Главная
  2. Библиотека
  3. Программирование
  4. Дан массив чисел: 3, 5, 2, 4, 6, 1, 8, 9, 7. Производит...
Решение задачи на тему

Дан массив чисел: 3, 5, 2, 4, 6, 1, 8, 9, 7. Производится сортировка выбором по возрастанию. Какое количество обменов значений элементов будет совершено?

  • Программирование
  • #Основы алгоритмизации и программирования
  • #Структуры и алгоритмы обработки данных
Дан массив чисел: 3, 5, 2, 4, 6, 1, 8, 9, 7.
Производится сортировка выбором по возрастанию.
Какое количество обменов значений элементов будет совершено?

Условие:

Дан массив чисел 3,5,2,4,6,1,8,9,7.
Производится сортировка выбором по возрастанию.
Какое количество обменов значений элементов будет совершено?

Используй Python

def choice_sort(A):
for i in range(len(A)):
# ищем минимум
for j in range(i + 1, len(A)):
if A[j] < A[i]:
A[i], A[j] = A[j], A[i]

Решение:

Мы имеим массив A = [3, 5, 2, 4, 6, 1, 8, 9, 7] и функцию сортировки выбором, которая в данной реализации сразу меняет элементы при обнаружении меньшего значения. То есть для каждого индекса i перебираются все следующие элементы j, и если A[j] A[i], то элементы обмениваются местами.

Рассмотрим пошагово выполнение алгоритма и посчитаем число обменов:

  1. i = 0, A[0] = 3
    – j = 1: A[1] = 5, поскольку 5 3 неверно → обменов нет.
    – j = 2: A[2] = 2, так как 2 3, выполняется обмен.
    После обмена A = [2, 5, 3, 4, 6, 1, 8, 9, 7]
    (обмены: 1)
    – j = 3: A[3] = 4, 4 2 неверно...

Выбери предмет