Я читаю введение Кормена в алгоритмы.
Я не могу понять, почему слияние n/k
массивов с k
элементами в каждом из них имеет сложность O(n*log(n/k))
.
Что мне здесь не хватает, так это то, что у нас есть n/k
массивы. Поэтому нам необходимо выполнить слияние n/(k-1)
раз с O(n)
верхней границей.
Однако у нас есть логарифм, поэтому я полагаю, что мне не хватает чего-то в моем понимании сложности слияния.Сложность операции слияния в сортировке слияния
Любая помощь приветствуется.
Я только что осознал это. Благодарю. –
Но не будет ли константа быть немного выше, если мы используем кучу, потому что при вставке можно иметь несколько свопов? –
@LongSmith Структура данных кучи получила хорошую локальность ссылочного свойства, что означает, что она довольно удобна для кеша. Это будет зависеть от машинных и конкретных сценариев, но я считаю, что из-за этого у него будут лучшие константы для большей реализации. – amit