常用数据结构增删查时间复杂度
2016-06-03 14:25
302 查看
数据结构 | 根据关键字查找 | 根据索引查找 | 插入 | 删除 |
---|---|---|---|---|
数组 | O(n) | O(1) | O(n) | O(n) |
有序数组 | O(logn) | O(1) | O(n) | O(n) |
链表 | O(n) | O(n) | O(1) | O(1) |
有序链表 | O(n) | O(n) | O(1) | O(1) |
双向链表 | O(n) | O(n) | O(1) | O(1) |
二叉树(一般情况) | O(logn) | O(logn) | O(logn) | |
二叉树(最坏情况) | O(n) | O(n) | O(n) | |
平衡树 | O(logn) | O(logn) | O(logn) | O(logn) |
排序二叉树 | O(logn)~O(n) | O(logn)~O(n) | O(logn)~O(n) | O(logn)~O(n) |
哈希表 | O(1) | O(1) | O(1) |
相关文章推荐
- [C/C++]反转链表
- C#数据结构之顺序表(SeqList)实例详解
- C#实现基于链表的内存记事本实例
- Lua教程(七):数据结构详解
- C#模拟链表数据结构的实例解析
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- C#数据结构之单链表(LinkList)实例详解
- 数据结构之Treap详解
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++利用静态成员或类模板构建链表的方法讲解
- C++实现简单的学生管理系统
- 用C语言举例讲解数据结构中的算法复杂度结与顺序表
- C#数据结构之堆栈(Stack)实例详解
- C#数据结构之双向链表(DbLinkList)实例详解
- JavaScript数据结构和算法之图和图算法
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法