时间复杂度是计算机科学中的一个概念,它涉及一组代码或算法处理或运行所需时间的量化,是输入量的函数。换句话说,时间复杂度是指一个程序处理一个给定的输入需要多长时间。一个算法的效率取决于两个参数:
| 数据结构 | 访问 | 搜索 | 插入 | 删除 |
|---|---|---|---|---|
| 阵列 | O(1) | O(1) | O(1) | O(1) |
| 堆栈 | O(1) | O(1) | O(1) | O(1) |
| 队列 | O(1) | O(1) | O(1) | O(1) |
| 单链表 | O(1) | O(1) | O(1) | O(1) |
| 双链表 | O(1) | O(1) | O(1) | O(1) |
| 哈希表 | O(1) | O(1) O(1) | O(1) | |
| 二进制搜索树 | O(log n) | O(log n) | O(log n) | O(log n) |
| AVL树 | O(log n) | O(log n) | O(log n) | O(log n) |
| B树 | O(log n) | O(log n) | O(log n) | O(log n) |
| 红黑树 | O(log n) | O(log n) | O(log n) | O(log n) |
| 数据结构 | 访问 | 搜索 | 插入 | 删除 |
|---|---|---|---|---|
| 阵列 | O(1) | O(N) | 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(N) | O(N) |
| 双链表 | O(N) | O(N) | O(1) | O(1) |
| 哈希表 | O(N) | O(N) | O(N) | O(N) |
| 二进制搜索树 | O(N) | O(N) | O(N) | O(N) |
| AVL树 | O(log N) | O(log N) | O(log N) | O(log N) |
| 二进制树 | O(N) | O(N) | O(N) | O(N) |
| 红黑树 | O(log N) | O(log N) | O(log N) | O(log N) |
| 数据结构 | 访问 | 搜索 | 插入 | 删除 |
|---|---|---|---|---|
| 阵列 | O(1) | O(N) | 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(N) | O(N) | O(1) | O(1) |
| 哈希表 | O(1) | O(1) | O(1) | O(1) |
| 二进制搜索树 | O(log N) | O(log N) | O(log N) | O(log N) |
| AVL树 | O(log N) | O(log N) | O(log N) | O(log N) |
| B树 | O(log N) | O(log N) | O(log N) | O(log N) |
| 红黑树 | O(log N) | O(log N) | O(log N) | O(log N) |
上一篇:JVM和DVM的区别
下一篇:URL和 链接的区别