Я столкнулся с проблемами производительности при сортировке больших наборов данных в Python с использованием быстрой сор ⇐ Python
Я столкнулся с проблемами производительности при сортировке больших наборов данных в Python с использованием быстрой сор
Сейчас я работаю над проектом, который включает в себя сортировку больших наборов данных в Python. Я экспериментировал с алгоритмами быстрой сортировки и сортировки слиянием, используя встроенные функции сортировки Python (sorted() и list.sort()), но для наборов данных, содержащих более 100 000 элементов, время сортировки существенно влияет на производительность.
Я пробовал реализовать эти алгоритмы с помощью следующих фрагментов кода:
def быстрой сортировки (arr): если len(arr) Pivot] вернуть быструю сортировку (слева) + среднюю + быструю сортировку (справа) data = [...] # Здесь ваш большой набор данных sorted_data = быстрая сортировка (данные) защита слияния (слева, справа): результат = [] пока слева и справа: если влево[0] < вправо[0]: result.append(left.pop(0)) еще: result.append(right.pop(0)) если осталось: результат.расширить(слева) если прав: result.extend(справа) вернуть результат защита слиянием (обр): если len(arr)
Сейчас я работаю над проектом, который включает в себя сортировку больших наборов данных в Python. Я экспериментировал с алгоритмами быстрой сортировки и сортировки слиянием, используя встроенные функции сортировки Python (sorted() и list.sort()), но для наборов данных, содержащих более 100 000 элементов, время сортировки существенно влияет на производительность.
Я пробовал реализовать эти алгоритмы с помощью следующих фрагментов кода:
def быстрой сортировки (arr): если len(arr) Pivot] вернуть быструю сортировку (слева) + среднюю + быструю сортировку (справа) data = [...] # Здесь ваш большой набор данных sorted_data = быстрая сортировка (данные) защита слияния (слева, справа): результат = [] пока слева и справа: если влево[0] < вправо[0]: result.append(left.pop(0)) еще: result.append(right.pop(0)) если осталось: результат.расширить(слева) если прав: result.extend(справа) вернуть результат защита слиянием (обр): если len(arr)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение