Лабораторная работа 3 Операции над массивами и создание структурированных массивов


Быстрая сортировка в библиотеке NumPy: функции np.sort и np.argsort



бет7/10
Дата09.05.2022
өлшемі0,56 Mb.
#33776
түріЛабораторная работа
1   2   3   4   5   6   7   8   9   10
Быстрая сортировка в библиотеке NumPy: функции np.sort и np.argsort

Хотя в языке Python имеются встроенные функции sort и sorted для работы со списками, мы не будем их рассматривать, поскольку функция библиотеки NumPy np.sort оказывается намного более эффективной и подходящей для наших целей. По умолчанию функция np.sort использует имеющий сложность O[N log N]: алгоритм быстрой сортировки (quicksort), хотя доступны для использования также алгоритмы сортировки слиянием (mergesort) и пирамидальной сортировки (heapsort).

Чтобы получить отсортированную версию входного массива без его изменения, можно использовать функцию np.sort:

x = np.array([2, 1, 4, 3, 5])

np.sort(x)
Out: array([1, 2, 3, 4, 5])

Если же вы предпочитаете отсортировать имеющийся массив, то можно вместо этого применять метод sort массивов:

x.sort()

print(x)
[1 2 3 4 5]

Имеется также родственная функция argsort, возвращающая индексы отсортированных элементов:

x = np.array([2, 1, 4, 3, 5])

i = np.argsort(x)

print(i)
[1 0 3 2 4]

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

x[i]


Out: array([1, 2, 3, 4, 5])


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет