В примере этой статьи рассказывается о сортировке резюме алгоритма сортировки Java. Поделитесь этим для всех для вашей ссылки. Конкретный анализ заключается в следующем:
В 1991 году Роберт У. Флайд, профессор факультета компьютерных наук на факультете компьютерных наук в Стэнфордском университете, и Дж. Уильямс в 1964 году в совместном изобретении знаменитой кучи (сортировка кучи) Эта статья в основном представляет Java с сортировкой кучи.
Heapsort относится к алгоритму сортировки, разработанным структурой данных Pile (HEAP), который может использовать характеристики массива для быстрого определения определения элемента указанных индексов. Порядок укладки является нестабильным методом сортировки.
Порядок укладки использует характеристики максимальной (или минимальной) ключевых слов большой кучи (или малой корневой кучи) верхней записи, которая делает запись максимального (или минимального) ключевого слова в текущей области беспорядочной области.
(1) Основные идеи, отсортированные с большой кучей
① Сначала построить начальный файл r [1..n] в большую корневую кучу. Удовлетворить r [1 .. n-1] .keys≤r [n].
③ Поскольку новый корень r [1] может нарушать природу кучи после обмена, нынешняя непослушающая область R [1 .. N-1] должна быть отрегулирована в кучу. Затем ключевые слова в ключевых словах в R [1..N-1] снова обмениваются с последней записью R [N-1] в интервале, который получил новую беспорядочную область R [1 ..... N-2 ] и упорядоченная область r [n-1..n], и до сих пор удовлетворяет отношения r [1 ..- .. n-2] .keys≤r [n-1..n] .keys, также для r [1..n-2] отрегулировать в кучу.
Нимфо
Пока не будет только один элемент в беспорядочной области.
(2) Основная работа алгоритма сортировки больших корней:
① Инициализация операции: конструкция R [1..n] в начальную кучу;
② Основная операция каждого рода: обменяйте последнюю запись записи свай R [1] в текущей области беспорядочной, а затем отрегулируйте новую область беспорядка в кучу (также известную как восстановление).
Уведомление:
① Просто сделайте сортировку N-1 и выберите более крупное ключевое слово N-1, чтобы увеличить файл по порядку.
② Сортировка с небольшими корнями аналогична большим корням, но результаты его сортировки уменьшаются и упорядочены. Порядок укладки и прямой выбор сортировки противоположны: в любой момент беспорядочная область всегда находится перед упорядоченной областью, а упорядоченная область постепенно расширяется от задней части исходного вектора до всего вектора.
Реализация кода:
Общедоступный класс {public static int [] heap = {10, 32, 1, 9, 5, 7, 0, 4, 3}; {int i; +) System.out .printf («%3s», Heap); (i = 1; i <index -1; i ++) System.out.printf ("%3s", Heap); Void creap (int root, int index) {int i, j; Sumpp = Head [root]; [J]) Finish = 1; ; // родительский узел = root value} ; Heap [1] = TestHeap (1, I); "%3s", Heap [j]);
Куча можно рассматривать как дерево, а высота узла в высоте может быть определена как число самого длинного простых путей от узла до листового узла; корень. Мы увидим, что некоторые из основных операций на структуре кучи в основном пропорциональны высоте дерева, который является O (LGN). Читая эту статью, я надеюсь вам помочь.
Есть надежда, что эта статья полезна для дизайна программы Java каждого.