交换排序(冒泡排序,快速排序)知识点总结

冒泡排序:

  1. 思想:从后往前(或者从前往后)两两比较相邻元素的值,若为逆序,则交换他们的位置。
  2. 空间复杂度:O( 1)
  3. 时间效率:最好情况:比较次数为 n-1 ,移动次数为 0,时间复杂度为O(n). 最坏情况:逆序时情况最坏,比较次数为 n(n-1)/2*,移动次数为:3n(n-1)/2* ,平均时间复杂度和最坏时间复杂度相等为O(n^2)
  4. 稳定的

快速排序

  1. 思想:任取一个元素为pivot作为枢纽(通常取首元素),通过一趟排序把它分为两部分,一边小于pivot,一边大于pivot。则pivot就放在了它的最终位置上。
  2. 空间效率:最好情况: O(log n); 最坏情况: O(n),平均情况: O( log n )
  3. 提高算法效率的方法: 1,尽量选取一个可以作为数据中分的枢纽元素。2,随机地从当前的表中选取枢纽。
  4. 时间效率:最坏: O( n^2 ), 最好: O( nlog n )
  5. 不稳定的,且在快速排序中不产生有序的子序列。

猜你喜欢

转载自blog.csdn.net/qq_43964318/article/details/108390902