Уведомления

Группа в Telegram: @pythonsu

#1 Май 5, 2022 12:32:58

delitet
Зарегистрирован: 2022-03-29
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

алгоритм сортировки подсчётом

Подскажите, пожалуйста,

  range(len(support)) и range(len(support[i]))
- что означают(что возвращают)?
Длину вспомогательной переменной(support)? в чём отличия?

 def counting_sort(sort):
    #мин/макс значения в списке
    min_value = min(sort)
    max_value = max(sort)
    #создаём последовательность из нулей длинною макс-мин+1
    support = [0 for i in range(max_value - min_value +1)]
    #проходимся по списку А, +1 значения по индексу (элемент списка А-минимальное значение А) во временной переменной с нулями
    for i in sort:
        support[i-min_value] +=1
    index = 0
# ⬇⬇⬇⬇⬇⬇⬇⬇⬇ВОТ ЭТИ ДВЕ СТРОКИ НЕ ПОНЯТНЫ ⬇⬇⬇⬇⬇⬇⬇⬇⬇
    for i in range(len(support)):
        for k in range(support[i]):
            sort[index] = i + min_value
            index += 1
    return None
a = [-1,-9,0,1,-1]
counting_sort(a)

Отредактировано delitet (Май 5, 2022 13:02:41)

Офлайн

#2 Май 5, 2022 19:05:21

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

алгоритм сортировки подсчётом

delitet
Подскажите, пожалуйста,

range(len(support)) и range(len(support[i]))

вот в этом отрывке
   
#⬇⬇⬇⬇⬇⬇⬇⬇⬇ВОТ ЭТИ ДВЕ СТРОКИ НЕ ПОНЯТНЫ ⬇⬇⬇⬇⬇⬇⬇⬇⬇
    for i in range(len(support)):
        for k in range(support[i]):

где находится
 range(len(support[i]))

range это диапазон от 0(по умолчанию) до числа(не включительно)которое в скобках

 r = range(10)
print(r)
print(type(r))
print(list(r))

range(0, 10)
<class 'range'>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Process finished with exit code 0

Отредактировано xam1816 (Май 5, 2022 19:09:51)

Офлайн

#3 Май 5, 2022 19:27:02

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

алгоритм сортировки подсчётом

Тут код на питоне
wiki. сортировка подсчётом



Отредактировано py.user.next (Май 5, 2022 19:27:22)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version