Хохлов
?>

Иллюстрацияға гиперсілтеме қалай кірістіріледі

Информатика

Ответы

Sosovna Dmitrievich22

https:// www.youtube .com/watch?v=yRLCNFwR0Ms

Шиловский126

Алгоритм быстрой сортировки подразумевает следующее.

В качестве опорного элемента выбирается какой-то из элементов отрезка массива (я в коде буду брать самый левый). Затем все элементы массива делятся на две части: все, кто меньше опорного элемента, должны стоять левее его, все, кто больше, правее. Затем всё продолжается для двух подмассивов из чисел, больших опорного элемента, и чисел, меньших опорного элемента. Процесс останавливается, если в том отрезке массива, который требуется отсортировать, один или ноль элементов.

Можно предложить такую реализацию:

def QS(A, st, end):

   if end <= st:

       return

   base = A[st]

   less = [elem for elem in A[st:end + 1] if elem < base]

   equal = sum(elem == base for elem in A[st:end + 1])

   greater = [elem for elem in A[st:end + 1] if elem > base]

   A[st:st + len(less)] = less

   A[st + len(less):st + len(less) + equal] = [base] * equal

   A[st + len(less) + equal:end + 1] = greater

   QS(A, st, st + len(less) - 1)

   QS(A, st + len(less) + equal, end)

Но это всё выглядит не очень в стиле Питона - скорее всего, авторы курса просто бездумно скопировали задание с других языков программирования.

Irina-Tunyan

# Первый цикл поднимет a на 3, второй и третий на 0, 4-й на 2.

a = 1

for i in range(3):

   a += 1

   '''print(f'[for i in range(3) > RANGE][a = {a}]')'''

print(f'[for i in range(3) > TOTAL][a = {a}]')

a = 1

for i in range(3, 1):

   a += 1

   '''print(f'[for i in range(3, 1) > RANGE][a = {a}]')'''

print(f'[for i in range(3, 1) > TOTAL][a = {a}]')

a = 1

for i in range(1, 3, -1):

   a += 1

   '''print(f'[for i in range(1, 3, -1) > RANGE][a = {a}]')'''

print(f'[for i in range(1, 3, -1) > TOTAL][a = {a}]')

a = 1

for i in range(3, 1, -1):

   a += 1

   '''print(f'[for i in range(3, 1, -1) > RANGE][a = {a}]')'''

print(f'[for i in range(3, 1, -1) > TOTAL][a = {a}]')

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Иллюстрацияға гиперсілтеме қалай кірістіріледі
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

saniopt
Овчинников_Грузман
olqa27
vitaldicky349
nekataniyoleg
Katkova
Станислав Валерий1696
annakorolkova79
vladimir72tatarkov1317
SEMENOV25352
irinaphones8
Butsan-Bagramyan
Николаев
aaazovcev
Yevgenevich