Ось обработки как дата/время (эпоха)

Существует много решений этой проблемы. Если Вы не заботитесь о дубликатах, Вы не должны сортировать обоих. Сначала удостоверьтесь, что у них есть то же количество объектов. После того вида один из наборов. Тогда binsearch каждый объект от второго набора в отсортированном наборе. Если Вы не находите, что данный объект останавливает и возвращает false. Сложность этого: - сортировка первого набора: Журнал N (N) - ищущий каждый объект от второго в первое: ЖУРНАЛ N (N), таким образом, Вы заканчиваете с 2*N*LOG (Н), предполагающий, что они соответствуют и Вы ищете все. Это подобно сложности сортировки обоих. Также это приносит Вам пользу для остановки ранее, если существует различие. Однако имейте в виду, что, если и отсортированы перед продвижением в это сравнение и Вы пытаетесь сортировать по использованию что-то как qsort, сортировка будет более дорогой. Существует оптимизация для этого. Другая альтернатива, которая является большой для небольших коллекций, где Вы знаете диапазон элементов, должна использовать индекс битовой маски. Это даст Вам O (n) производительность. Другая альтернатива должна использовать хеш и искать его. Для небольших коллекций обычно намного лучше сделать сортировку или индекс битовой маски. Хеш-таблица имеет недостаток худшей местности, так имейте это в виду. Снова, это - то, только если Вы не заботитесь о дубликатах. Если Вы хотите объяснить дубликаты, идут с сортировкой обоих.

13
задан Jeffrey Aylesworth 20 November 2009 в 01:24
поделиться