Как я могу изменить сортировку вставки для обработки двух элементов за раз?JAVA

Программисты JAVA общаются здесь
Anonymous
Как я могу изменить сортировку вставки для обработки двух элементов за раз?

Сообщение Anonymous »

У кого -нибудь есть объяснение о том, как делать сортировку вставки с двумя элементами за раз вместо одного? Мне нужно отсортировать их как самые маленькие и самые большие, сдвинуть отсортированную часть второй части, если наибольшее, меньше, а затем вставьте наименьшие нормально < /p>
Это мое домашнее задание:
при реализации Алгоритм, часто есть несколько способов сделать это. Часто можно использовать «трюки», которые сэкономили время. Алгоритм будет поддерживать тот же порядок сложности, но постоянная в термине, который растут самые быстрые, будет уменьшена. Вам поручено изучить, оказывают ли такие трюки значительное влияние на вставку. Начало внутреннего цикла может выглядеть так: < /p>
while (j> = 0 && temp.compareto (a [j])
где первая часть условия гарантирует, что мы остаемся в пределах границ массива, а вторая часть указывает, что мы еще не нашли правильную позицию для вставки элемента. < /p>
Если мы перенесем самый маленький элемент на Передняя часть перед началом фактической сортировки, условие может быть упрощено, так как нам никогда не нужно вставлять элемент в положении 0 в массиве. Одним из преимуществ вставки является то, что он стабилен, что означает, что равные элементы сохраняют свой относительный порядок после сортировки. Чтобы сохранить это свойство, мы можем пересечь массив справа налево и обмениваться соседними элементами, если они находятся в неправильном порядке по отношению друг к другу. Это гарантирует, что наименьший элемент окажется в начале. Пусть количество элементов будет достаточно большим, чтобы сортировка заняла не менее 5 секунд. Кратко запишите свои наблюдения. Для генерации случайных данных и времени измерения см. В конце назначения. Эти два элемента, которые должны быть вставлены, называются «наименьшим» и «самым большим» (где наименьшее

Подробнее здесь: https://stackoverflow.com/questions/794 ... -at-a-time

Вернуться в «JAVA»