首页 > 试题广场 >

算法复杂度是lgn的是(有几个选几个)

[不定项选择题]
算法复杂度是lgn的是(有几个选几个)
  • 冒泡排序
  • 堆排序
  • 选择排序
  • 快速排序
快排排序时间复杂度不应该是O(n*logn)吗

发表于 2020-08-13 00:29:47 回复(0)
冒泡排序:O(n2
  • 比较相邻的两个元素,如果前者比后者大(反之倒序),则交换。
  • 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。
  • 针对所有的元素重复以上的步骤。
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
堆排序:O(nlog2n)
选择排序:O(n2)
  • (1)首先从原始数组中选择最小的1个数据,将其和位于第1个位置的数据交换
  • (2)接着从剩下的n-1个数据中选择次小的1个元素,将其和第2个位置的数据交换
  • (3)然后,这样不断重复,直到最后两个数据完成交换。最后,便完成了对原始数组的从小到大的排序。
快速排序:O(nlog2n)
发表于 2020-02-28 14:27:04 回复(0)
快速排序的复杂度是O(n^2),这个有严格的数学公式推导可以证明,只是它的平均复杂度是O(nlgn)
发表于 2020-04-11 14:37:36 回复(0)