Nếu người ta đề cập đến việc sử dụng một thuật toán O(log n)
thay vì O(n)
tăng tốc theo cấp số nhân, thì người ta sẽ đề cập đến việc tăng tốc độ đạt được bằng cách sử dụng O(1)
thuật toán so với thuật toán O(n)
?
Nếu người ta đề cập đến việc sử dụng một thuật toán O(log n)
thay vì O(n)
tăng tốc theo cấp số nhân, thì người ta sẽ đề cập đến việc tăng tốc độ đạt được bằng cách sử dụng O(1)
thuật toán so với thuật toán O(n)
?
Câu trả lời:
Không có tên cho điều đó, nhưng gần nhất sẽ là tăng tốc "vô hạn". được coi là tăng tốc theo cấp số nhân so với , bởi vì là số mũ trong : nếu chúng ta lấy hàm số mũ , chúng ta sẽ nhận được .
Tuy nhiên, không phải là bất cứ điều gì trong : không có cách nào để phục hồi từ , cho dù hàm chúng ta phát triển nhanh đến mức nào , sẽ luôn là một hằng số (và không bao giờ bằng ). Khi , trở nên nhỏ hơn vô hạn so với .
Sự nhầm lẫn của bạn dường như có liên quan đến ý nghĩa kỹ thuật của từ "hàm mũ".
Theo định nghĩa được đưa ra trong http://www.learnersdipedia.com , nó được định nghĩa là:
Tăng trưởng theo cấp số nhân theo nghĩa đen là tăng trưởng ngày càng nhanh hơn khi nó tiếp tục. Tuy nhiên, trong sử dụng thông thường, hàm mũ được hiểu là chỉ đơn giản là rất nhanh, khi nó được sử dụng với các từ như tăng trưởng và tăng.
Bây giờ, hãy xem xét một ví dụ, trong đó n = 256 (lũy thừa 2 vì đơn giản). Nếu n = 256, thì \ log_2 n = 8. Đây là một tốc độ "theo cấp số nhân", vì chức năng nhật ký.
Theo như O (1) có liên quan, bạn cần nhận ra rằng \ log_n n = 1 nói chung. Với điều đó đã được nói, O (1) cũng sẽ là một sự tăng tốc "theo cấp số nhân" lý tưởng.
Hy vọng điều này làm cho mọi thứ rõ ràng.