首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最常见的数据结构是什么,以及对它们进行操作的主要目标是什么?

最常见的数据结构是什么,以及对它们进行操作的主要目标是什么?
EN

Stack Overflow用户
提问于 2011-10-15 05:22:20
回答 2查看 2.3K关注 0票数 6

我正在努力掌握大O符号。它看起来很抽象。我选择了最常见的数据结构--数组、哈希表、链表(单链表和双链表)和二叉树,并猜测了最常见的操作--插入和搜索--的大O符号。这是一个惯性视图的准备工作。我只需要学习基础知识,而不是阅读一整本关于算法的教科书,尽管这将是理想的。下表是否有效?

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-15 05:38:02

对于Array,获取/返回一个元素需要O(1),但是搜索一个元素应该需要O(n)。对于树,我假设你指的是balanced二进制搜索树。

票数 2
EN

Stack Overflow用户

发布于 2011-10-15 05:40:43

对于散列插入,记住O(1)是最优的。如果您的哈希表接近满,您的效率将接近O(n)。

此外,对于按对数排序的数组,搜索时间为O( n)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7773715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档