В «Big O» общие обозначения имеют общие имена (вместо того, чтобы говорить «о некотором постоянном множителе»):
O (1) - «Константа»
O (log n) является "логарифмическим"
O (n) является "линейным"
O (n ^ 2) является "квадратичным"
O (n * log n) есть ???
Это просто "n log n" или у него есть специальное имя, как указано выше?
terminology
asymptotics
GlenPeterson
источник
источник
Ответы:
Оно называется линеарифмическим временем и является частным случаем более общего класса, известного как квазилинейный . Как следует из названия, алгоритмы, попадающие в этот класс, практически работают за линейное время; на самом деле они имеют меньшую сложность, чем алгоритмы, которые работают в с k > 1 .O ( nК) k > 1
источник
http://catb.org/jargon/html/L/linearithmic.html
источник
Я всегда слышал, что O (n log n) описывается как «линейно-логическая», что мне кажется правильным.
источник
Это было слишком долго для комментария, поэтому я написал ответ. Я не добавил это в свой первый ответ, потому что многие люди уже проголосовали за мой первый vanswer, и я не уверен, что они также согласны с этим ответом.
и в статье, цитируемой в Википедии, которая посвящена этой статье Шорра. Шнорр вводит классы сложности квазилинейный (QL) и недетерминированный квазилинейный (NQL).
Квазилинейный, похоже, используется и в теории уравнений с частными производными.
В целом кажется, что один или несколько википедистов хотели предоставить имена для этой функции, которые не имеют общепринятого имени. Но даже сейчас мне кажется, что ни одно из имен не является общепринятым (кроме того, что я думаю, что это своего рода манипуляция, которую Википедия не должна делать). Я думаю, что нужно быть осторожным, если кто-то использует Википедию для вопросов терминологии. И для этой функции это не достаточный источник. Я думаю, что единственное общепринятое имя для этой функции - n log n .
источник