Результаты поиска по запросу "quicksort"

30 ответов

Быстрая сортировка с Python

Я совершенно новичок в Python и пытаюсь реализовать в нем быструю сортировку. Может ли кто-нибудь помочь мне завершить мой код? Я не знаю, как объединить три массива и напечатать их. def sort(array=[12,4,5,6,7,3,1,15]): less = [] equal = [] ...

1 ответ

Большое спасибо! Вы похожи на человека, который хорошо знаком с этим, и я только на втором этапе изучения PHP (из 10, которые я планирую). Еще раз спасибо за объяснение. Это самый сложный пример, с которым я столкнулся. Как вы можете видеть, я все еще выясняю это, но, вероятно, заканчиваю это сегодня. Еще раз спасибо!

я есть пример usort (), и я добавил несколько операторов echo, чтобы увидеть, как работает код: <?php function list_cmp($a, $b) { global $order; echo "\$a=$a, \$b=$b </br>"; foreach ($order as $key => $value) { echo "\$value=$value </br>"; if ...

6 ответов

Другими словами, наихудшее время выполнения быстрой сортировки происходит, когда быстрая сортировка принимает в отсортированном массиве (в порядке убывания) время сложности O (n ^ 2).

алгоритм быстрой сортировки занимает O (n ^ 2) времени?

ТОП публикаций

1 ответ

Вы должны рассматривать списки сортировки по 2, 3 и даже 4 как вложенные, если при необходимости меняются местами. Дайте нам знать, как меняется производительность.

я работал над реализацией быстрой сортировки, а затем запустил ее, ожидая более быстрого выполнения, чем Mergesort (который я также реализовал). Я запустил два, и хотя быстрая сортировка была быстрее для небольших наборов данных <100 элементов ...

0 ответов

-1 Это утверждение кажется необоснованным. Алгоритм поиска медианы O (n) выбирает разбиение последовательности на блоки из пяти элементов на основе очень тщательного математического анализа производительности алгоритма. Возможно, вы правы в том, что правильно выбрать медиану из пяти случайных элементов, но вам нужно подтвердить это утверждение. Более того, если вы просто собираетесь выбрать медиану случайных элементов, почему бы просто не выбрать случайный стержень? Можно доказать, что это дает вам O (n lg n) ожидаемое поведение с высокой вероятностью.

работал несколько стратегий, но я не совсем уверен, как они влияют на общее поведение. Я знаю, что средний случай равен O (NlogN), поэтому я предполагаю, что это будет где-то в ответе. Я хочу просто поставить NlogN + 1, если я просто выберу 1-й ...

12 ответов

Проверено со случайными значениями Arrays и, кажется, всегда быстрее, чем Array.sort ()

ое-то время искал в Интернете, и мне интересно, есть ли «стабильная» дефакто-реализация быстрой сортировки, которая обычно используется? Я могу написать свой, но зачем изобретать велосипед ...

4 ответа

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

ровать следующий массив с помощью быстрой сортировки, [6, 11, 4, 9, 8, 2, 5, 8, 13, 7]Опорная точка должна быть выбрана как среднее арифметическое первого и последнего элемента, т.е.(a[0] + a[size - 1]) / 2 (rounded down). Показать все важные ...

1 ответ

Нерекурсивная быстрая сортировка

Мне интересно знать, имеет ли моя реализация нерекурсивного алгоритма QuickSort некоторые недостатки или скрытые камни. Что нужно изменить, чтобы оптимизировать его? И какие проблемы могут возникнуть при сравнении двух объектов так, как я это ...

6 ответов

if (end - start <= 1) // это условие должно быть <1, потому что, если я приведу массив из 2 элементов в порядке убывания, тогда не будет сортироваться почему? потому что, скажем, начало = 1 и конец = 2, то 2-1 = 1 условие верно.

тоящее время я изучаю быструю сортировку и хотел бы знать, как она работает, когда первый (или последний) элемент выбран в качестве точки поворота. Скажем, например, у меня есть следующий массив: {15, 19, 34, 41, 27, 13, 9, 11, 44}Вот что я ...

5 ответов

В чем преимущество использования хвостовой рекурсии?

Я читал статьи, описывающие, как можно уменьшить сложность быстрой сортировки с помощью хвостовой рекурсивной версии, но я не могу понять, как это так. Ниже приведены две версии: QUICKSORT(A, p, r) q = PARTITION(A, p, r) QUICKSORT(A, p, q-1) ...