Загрузка данных


Понял. Он хочет не рассказ, а трассировку в стиле исполнителя: коротко, формально, без фраз типа «значит помещаем».

Ниже даю вариант, который нужно вставить в ЛР 9 вместо старого «ручного выполнения».


---

Ручное выполнение алгоритма быстрой сортировки для массива из 7 элементов

Исходный массив:

A = [7, 6, 5, 4, 3, 2, 1]

При ручном тестировании зафиксируем один из возможных результатов случайного выбора опорного элемента.

Вызов 1

sort\_Quick([7,6,5,4,3,2,1]),\quad q=4

7 \to bgA=[7]



5 \to bgA=[7,6,5]



3 \to ltA=[3]



1 \to ltA=[3,2,1]

Результат разбиения:

ltA=[3,2,1],\quad eqA=[4],\quad bgA=[7,6,5]

Следовательно,

sort\_Quick([7,6,5,4,3,2,1])
=
sort\_Quick([3,2,1]) + [4] + sort\_Quick([7,6,5])


---

Вызов 2

sort\_Quick([3,2,1]),\quad q=2

3 \to bgA=[3]



1 \to ltA=[1]

Результат разбиения:

ltA=[1],\quad eqA=[2],\quad bgA=[3]

sort\_Quick([3,2,1])
=
sort\_Quick([1]) + [2] + sort\_Quick([3])

Так как

sort\_Quick([1])=[1],\quad sort\_Quick([3])=[3]

то

sort\_Quick([3,2,1])=[1,2,3]


---

Вызов 3

sort\_Quick([7,6,5]),\quad q=6

7 \to bgA=[7]



5 \to ltA=[5]

Результат разбиения:

ltA=[5],\quad eqA=[6],\quad bgA=[7]

sort\_Quick([7,6,5])
=
sort\_Quick([5]) + [6] + sort\_Quick([7])

Так как

sort\_Quick([5])=[5],\quad sort\_Quick([7])=[7]

то

sort\_Quick([7,6,5])=[5,6,7]


---

Завершение

sort\_Quick([7,6,5,4,3,2,1])
=
[1,2,3] + [4] + [5,6,7]
=
[1,2,3,4,5,6,7]


---

Если хочешь, я могу сразу переписать это ещё в совсем “железном” формате, как таблицу из столбцов:

вызов | q | ltA | eqA | bgA | результат

— это обычно нравится таким преподавателям ещё больше.