【发布时间】:2018-03-24 21:52:27
【问题描述】:
我一直有这个问题,并且一直无法将这两个概念联系起来,因此我正在寻求一些帮助来理解计算机科学中关于 Big-O 表示法和算法时间复杂度的对数。我将对数理解为能够回答以下问题的数学概念:“我需要将这个底数提高到指数才能得到 X?”。例如,log2(16) 告诉我们需要将 2 提高到 4 次方才能得到 16。我也有一个记忆级别的理解,即 O(log n) 算法比 O(n) 和其他较慢的算法如就像那些是指数的并且 O(log n) 算法的一个例子是搜索平衡的二叉搜索树。
我的问题有点难以准确说明,但我认为它归结为为什么要搜索平衡的 BST 对数,是什么使它成为对数,以及如何将数学对数与 CS 使用该术语联系起来?接下来的问题是 O(n log n) 和 O(log n) 之间有什么区别?
我知道这不是世界上最清楚的问题,但如果有人可以帮助我将这两个概念联系起来,它会为我消除很多困惑,让我摆脱仅仅记忆的问题(我通常讨厌记忆) .
【问题讨论】:
-
我觉得这里不适合讨论这个话题
-
您可能想要添加有关您的背景的其他信息。您所理解的内容与您所要求的内容之间似乎存在不匹配。你似乎没有被“卡住”,你似乎错过了一年的数学和计算机科学各个领域的讲座......这远远超出了问答形式的范围。
-
google.com/search?q=complexity+computer+science。正如 Andrey 所说,这是在每门 CS 课程中通过许多课程学到的大量内容。或许你想再看一遍,或者先看看这个 CS 领域来全面了解它。
标签: algorithm math time-complexity big-o logarithm