Cтраница 2
Вычисление адреса бункера и места в нем для размещения элемента. [16] |
Вычисляющий механизм пытается сформировать адрес бункера непосредственно по разряду. Если используется сравнивающий механизм, то при вычислении производительности сортировки надо учитывать число сравнений. Число сравнений зависит от А, числа значений, которые могут появляться в позициях разряда, и организации сравнений. [17]
Другие реализации слияния, требующие выполнения явно заданных проверок на предмет исчерпания первого файла, могут привести к более заметным колебаниям значений времени выполнения в зависимости от характера входных данных, но эта зависимость все еще остается незначительной. В файлах с произвольной организацией размер другого подфайла, когда исчерпывается первый файл, будет небольшим, и стоимость перемещения во вспомогательный файл все еще остается пропорциональной размеру этого подфайла. Можно подумать о повышении производительности сортировки слиянием в тех случаях, когда в файле уже достигнута высокая степень упорядоченности, за счет игнорирования вызова функции merge, когда в файле уже установлен порядок, однако данная стратегия не эффективна на многих типах файлов. [18]
С одной стороны, они образуют основу более сложных методов, с другой стороны, полезны и сами по себе для малых списков и как внутренние алгоритмы для внешних сортировок. По ряду причин обсуждение факторов, влияющих на производительность сортировки, дано в конце гл. [19]
Три метода сортировки ( все варианты линейного выбора) уже были описаны. Какие же факторы надо учитывать, если должен быть выбран только один метод. Какие факторы, помимо алгоритма сортировки, влияют на производительность сортировки данных. [20]
Предпочтительность одной сортировки перед другой и специфика реализации сортировки в основе своей определяются машиной, на которой эта сортировка будет работать. Почти невозможно перечислить все характеристики архитектуры машины, которые влияют на производительность сортировки и отражаются на реализации. [21]
Как разработчику, так и пользователю крайне необходима возможность оценки времени работы отдельной сортировки. Разработчику необходимо знать, насколько удачной будет его новая система сортировки. Пользователю эта информация необходима для планирования использования машины. Также он часто хочет знать, как сравнить производительность конкурирующих сортировок. [22]