Joe*_*Joe 5 big-o time-complexity data-structures
我正在阅读有关 java 编程中的大 O 表示法的内容。我发现下表显示了不同数据结构的不同大O。
我的问题是:
O(n^2)?(搜索并删除)O(n)?O(1)还是O(n)在哈希表中?O(log(n)*log(n))while insert is just 吗O(log(n))?谢谢。
O(n)),然后你必须移动项目以填补空白(takes O(n))。因此,有效时间复杂度为O(n)。O(1)。O(1)插入和搜索时间。O(n)几乎所有其他数据结构都占用插入时间。(O(n)类包括O(log n)、O(1)等)。假设我们在哈希表中使用单独的链接,其中每个链都是一个排序的链表。然后,对于每次插入,我们需要搜索链表以找到正确的插入位置(就像插入排序一样),这将花费O(n)最坏情况的时间。O(log n)平均情况下),然后你必须用它的中序后继或前驱节点替换删除的节点(在平均情况下O(log n))。因此,有效的平均情况删除时间为O(log n)。让我回答你的问题:
O(n) + O(n) = O(n)。O(1)只是你只能访问一个非常顶层的元素。对于其他元素,它是 O(n)。O(n)。我稍后会解释更多。