数据结构

面试必备-常见算法|数据结构复杂度一览

排序算法

面试必备-常见算法|数据结构复杂度一览
快速排序最坏的情况啥时候出现?

这个答案还得看枢轴(pivot)的选择策略。在快速排序的早期版本中呢,最左面或者是最右面的那个元素被选为枢轴,那最坏的情况就会在下面的情况下发生啦:

1)数组已经是正序(same order)排过序的。
2)数组已经是倒序排过序的。
3)所有的元素都相同(1、2的特殊情况)

因为这些案例在用例中十分常见,所以这个问题可以通过要么选择一个随机的枢轴,或者选择一个分区中间的下标作为枢轴,或者(特别是对于相比更长的分区)选择分区的第一个、中间、最后一个元素的中值作为枢轴。有了这些修改,那快排的最差的情况就不那么容易出现了,但是如果输入的数组最大(或者最小元素)被选为枢轴,那最坏的情况就又来了。

图论

面试必备-常见算法|数据结构复杂度一览
面试必备-常见算法|数据结构复杂度一览
通过队列优化的spfa最坏复杂度为O(VE)O(|V||E|)

参考文章:
https://blog.csdn.net/wumingqian_137229/article/details/53212319
https://blog.csdn.net/l975764577/article/details/39399077

相关文章:

  • 2021-04-22
  • 2022-12-23
  • 2021-07-05
  • 2021-10-22
  • 2022-01-07
  • 2022-01-05
  • 2022-01-26
  • 2021-05-24
猜你喜欢
  • 2021-11-20
  • 2021-08-22
  • 2021-10-31
  • 2021-10-19
  • 2021-10-25
  • 2022-03-02
相关资源
相似解决方案