冒泡排序法的时间复杂度
来源:1-1 冒泡排序的基本思想
weixin_慕圣6334738
2022-02-14 10:40:24
bobo老师你好, 关于冒泡排序法的时间复杂度为n^2我该怎么理解呢? 我感觉一共要遍历n-1轮,但是每一轮遍历的范围又不断在缩小, 怎么求的n^2呢
1回答
liuyubobobo
2022-02-14
在最差的情况下,每一轮遍历的范围只比上一轮少 1。即第 1 轮需要遍历 n 个元素;第 2 轮需要遍历 n - 1 个元素;第 3 轮需要遍历 n - 2 个元素 ... 第 n 轮需要遍历 1 个元素。
所以,其总共需要的操作数是 n + (n - 1) + (n - 2) + ... + 1,这是一个等差数列,用等差数列求和之后,扔掉系数和低阶项,就是 O(n^2),实际上,这个式子是和选择排序法,插入排序法等等,一致的。
继续加油!:)
相似问题