Ситуация следующая: -
У нас есть n номеров, и мы распечатали их в отсортированном порядке.У нас есть доступ к сбалансированной словарной структуре данных, которая поддерживает операции поиска, вставки, удаления, минимума, максимума каждый за O (log n).
Мы хотим получить числа в отсортированном порядке по O (nlog n) время с использованием только вставки и обхода в порядке.
Ответ на этот вопрос: -
Sort()
initialize(t)
while(not EOF)
read(x)
insert(x,t);
Traverse(t);
Теперь запрос состоит в том, если мы читаем элементы во времени«n», а затем обойти элементы за время «log n» (обход по порядку), а затем общее время для этого алгоритма (n + logn), по моему мнению. Пожалуйста, объясните, как работает этот алгоритм длярасчет времени .. Как он будет сортировать список в O (nlogn) времени ??
Спасибо.