美文网首页
面试笔记 - 常见数据结构时间复杂度

面试笔记 - 常见数据结构时间复杂度

作者: Android学习之旅 | 来源:发表于2020-04-27 23:36 被阅读0次

时间复杂度

数组

  • 添加:O(1)
  • 删除:O(n)
  • 修改:O(1)
  • 查询:O(n)
  • 尺寸:O(1)

链表

  • 插入:O(1),如果需要查找再插入则O(n)
  • 删除:O(1),如果需要查找再删除则O(n)
  • 搜索:O(n)

  • 推:O(1)
  • Pop:O(1)
  • 上:O(1)
  • 搜索(像查找,像一个特殊的操作):O(n)

队列

  • 插入:O(1)
  • 删除:O(1)
  • 尺寸:O(1)

排序

算法 最佳 平均 最差 最差情况下的空间复杂度
快速排序 O(nlogn) O(nlogn) O(n*n) O(n)
归并排序 O(nlogn) O(nlogn) O(nlogn) O(n)
堆排序 O(nlogn) O(nlogn) O(nlogn) O(1)
冒泡排序 O(n) O(n*n) O(n*n) O(1)
插入排序 O(n) O(n*n) O(n*n) O(1)
选择排序 O(n*n) O(n*n) O(n*n) O(1)
桶排序 O(n+k) O(n+k) O(n*n) O(nk)
基数排序 O(nk) O(nk) O(nk) O(n+k)

搜索

算法 平均 最差 最差空间复杂度
深度优先搜索(DFS) - O(E+V) O(V)
广度优先搜索(BFS) - O(E+V) O(V)
二分查找 O(logn) O(logn) O(1)

相关文章

网友评论

      本文标题:面试笔记 - 常见数据结构时间复杂度

      本文链接:https://www.haomeiwen.com/subject/abapwhtx.html