В примере этой статьи рассказывается о реализации и простом анализе нескольких алгоритмов сортировки Java. Поделитесь этим для всех для вашей ссылки. Специфика заключается в следующем:
Пакет -тест; Определяется, начинает ли вьетнамцы, // запрашивает массив со второго номера [j] <Список [j -1 1]) {int temp = list [j]; Основы, добавьте двоичный поиск*/Поместите void bininsertsort (int [] r, int low, int high) {for (int i = low+1; i <= high; i ++) {int temp = r [i]; // Сохранить элемент int hi = i -1; ; если (if (if (if (if + hi) / 2; if (if temp <r [mid]) hi = mid -1; elselo = mid + 1;} для (int j = i -1; J> HI; int [] r, int low, int high, int [] delta) {for (for (for (]. int k = 0; k <delngth; k ++) shellinsert (r, low, low, delta [ K]);} private void shellinsert (int [] r, int low, int deldak) {for (int i = low+deltak; i <= High; i ++) if (r [i] <r [i- Deltak]) {int temp = r [i]; ]; +) {// как n -1 поездки в int min min = k; <r [min]) min = i; min]; i = n/2; 1; ]; j <= high; r [j]; 0, 99, 55, 7, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 5, 4, 3, 2, 1}; fs.insertsort (a); , 0, A.Length-1);
Вставьте сортировку, обменную сортировку, сортировку выбора, сортировку слияний и другие методы сортировки имеют общую характеристику, то есть все они определяют относительное положение между элементами через сравнительные элементы, то есть приведенные выше методы сортировки основаны на сравнении. Ниже мы будем сравнивать и суммировать на основе сравнительных методов сортировки.
В основном мы сравниваем методы сортировки из средней временной сложности алгоритма, худшей сложности времени, сложности пространства и стабильности сортировки.
Метод сортировки Средняя сложности времени Сложность худшей сложности времени. Сложность пространства и стабильность стабильности, непосредственно вставленной (n2) (n2) ο (1) стабильная сортировка пены (n2) ο (n2) ο (1) стабильная и быстрая сортировка ) (N log n) l (n2) ο (log n) нестабильный и просто выберите сортировку ο (n2) ο (1) ο (1) нестабильная сортировка кучи (n log n) ο (n log n) ο (n log n) ο (n log) 1) нестабильное слияние сортировки ο (n log n) ο (n log n) ο (n) стабильный
С точки зрения производительности, быстрая сортировка - это лучшая реальная производительность во всех алгоритмах сортировки. Этого можно избежать, изменяя быстрое сортировку. При сравнении сортировки стека и сортировки слияний, когда N большое, время, необходимое для слияний и сортировки, меньше, но это требует большего количества вспомогательного хранилища.
С точки зрения стабильности метода, большая часть сложности времени сортирует (N2) сортировка является стабильным методом сортировки. Большинство методов сортировки с хорошей производительностью, такие как быстрая сортировка, сортировка укладки и сортировка Хилла, нестабильны. Вообще говоря, метод сортировки сравнения процесса сортировки стабилен.
Кроме того, стабильность метода сортировки определяется самим методом.
Таким образом, ни один из методов сортировки, обсуждаемых выше, не является абсолютно оптимальным.
Есть надежда, что эта статья полезна для дизайна программы Java каждого.