Istilah apa yang dapat saya gunakan untuk menggambarkan sesuatu dengan kompleksitas O (N log N)?
Sebagai contoh:
O (1): Konstan
O (log N): Logaritmik
O (N): Linear
O (N log N): ??????
O (N 2 ): Kuadratik
O (N 3 ): Kubik
Istilah apa yang dapat saya gunakan untuk menggambarkan sesuatu dengan kompleksitas O (N log N)?
Sebagai contoh:
O (1): Konstan
O (log N): Logaritmik
O (N): Linear
O (N log N): ??????
O (N 2 ): Kuadratik
O (N 3 ): Kubik
Jawaban:
"N log N" sama bagusnya dengan yang Anda dapatkan, dan harus dipahami dengan baik oleh programmer profesional. Anda tidak dapat mengharapkan ada satu kata untuk menggambarkan setiap kelas kompleksitas yang ada.
Ada istilah jargon yang artinya linearitmik persis ini.
Saya tidak percaya bahwa itu dipahami secara universal oleh semua programmer, jadi jika Anda tidak hati-hati maka itu akan mengaburkan lebih daripada yang diinformasikan. Secara pribadi saya biasanya tidak menggunakannya, dan jika saya melakukannya maka saya mungkin akan mendefinisikannya pada penggunaan pertama, misalnya "artikel ini menganggap linearithmic ( O(N log N)
) algoritma".
Kadang-kadang disebut "loglinear", meskipun kata itu sebenarnya berarti sesuatu yang berbeda. Saya hanya akan tetap dengan "N log N", meskipun, seperti jawaban @ Philip menyarankan.
O(n · f(n))
manaf(n) << n
. Tapi ini cocok juga dengan hal-hal sepertiO(n · log log n)
dan diO(n α(n))
manaα(n)
kebalikan dari fungsi Ackermann.