Re: Помогите с выбором алгоритмом
От: raskin Россия  
Дата: 27.06.05 12:26
Оценка:
SeAlG wrote:
> Здравствуйте!
>
> Возникла проблема, имею N массивов содержащих пары: (временная метка;
> значение), массивы внутри упорядочены по возрастанию временной метки.
> Нужно сформировать таблицу из 1+N столбцов
> (временная метка и N столбцов значений) и Х строк (кол-во
> неповторяющихся временных меток).
> Сейчас для определения положения вставки элемента в таблицу использую метод
> деления попалам LowerBound, но меня не устраивает скорость. Может
> посоветуете что то более
> быстрое.
>
> Спасибо.

Ой.. Ну, наверное, можно (если память позволяет) сделать общий массив
записей <метка; данные; исходный массив> и отсортировать его за
N*X*(logN+log_X). После чего идти по нему и создавать таблицу по
порядку. Или отсортировать минимальные элементы массива в упорядоченное
дерево (см. сортировку деревом), после чего создавать общесортированный
массив выбирая минимальный элемент из минимальных в массивах и заменяя в
дереве вершину (цена замены — log_N), что даст N*X*log_N, но чуть
сложнее. Быстрее этого нельзя (асимптотически, формально говоря). А что
Вы подразумеваете под LowerBound?
Posted via RSDN NNTP Server 1.9
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.