最常见的数据结构和对其进行操作的 Big O 是什么?

发布于 2024-12-10 03:43:50 字数 453 浏览 0 评论 0原文

我正在尝试掌握大 O 符号。看起来很抽象。我选择了最常见的数据结构 - 数组、哈希、linkedl 列表(单和双)和二叉搜索树,并对最常见操作的 Big O 表示法进行了一些猜测 - 插入和搜索。这是面试的准备。我只需要学习基础知识,而不是阅读整本关于算法的教科书,尽管这是理想的选择。下表有效吗?

Data Structure       Big O Search   Big O Insert
Array                    O(1)          O(n)
Hash                     O(1)          O(1)
Single Linked List       O(n)          O(1)
Double Linked List       O(n)          O(1)
Tree                   O(log n)      O(log n)

I am trying to get a grasp on Big O notations. It seems pretty abstract. I selected the most common data structures - array, hash, linkedl list (single and double) and a binary search tree and guessed somewhat at the Big O notation for the most common operatons - insert and search. This is preparation for an inerview. I need to learn just the basics not read a whole text book on algorithms though this would be ideal. Is the table below valid?

Data Structure       Big O Search   Big O Insert
Array                    O(1)          O(n)
Hash                     O(1)          O(1)
Single Linked List       O(n)          O(1)
Double Linked List       O(n)          O(1)
Tree                   O(log n)      O(log n)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清风疏影 2024-12-17 03:43:50

对于数组,获取/返回一个元素需要 O(1),但搜索一个元素需要 O(n)。
对于树,我假设您指的是平衡二叉搜索树。

For Array, to get/return an element takes O(1), but to search for an element should take O(n).
For Tree, I assume that you meant balanced binary search tree.

ζ澈沫 2024-12-17 03:43:50

对于哈希插入,请记住 O(1) 是最佳的。如果你的哈希表接近满,你的效率将接近 O(n)。

另外,对于排序数组,搜索的时间复杂度为 O(log n)。

For hash inserts, remember that O(1) is optimal. If your hash table is close to full, your efficiency will approach O(n).

Also, for a sorted array, searching is O(log n).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文