冒泡排序的效率分析 若待排序的元素为正序,则只需进行一趟排序,比较次数为(n-1)次,移动元素次数为0; 若待排序的元素为逆序,则需进行n-1趟排序,比较次数为(n2-n)/2,移动次数为3(n2-n )/2, 最坏情况比较n(n-1)/2 因此冒泡排序算法的时间复杂度为O(n2)。由于其中的元素移动较多,所以属于内排序中速度较慢的一种。 6.3.2 快速排序 基本思想是:取待排序序列中的某个元素(一般第一个元素)作为基准,通过一趟排序,将待排元素分为左右两个子序列, 左子序列元素的排序码均小于或等于基准元素的排序码, 右子序列的排序码则大于基准元素的排序码, 然后分别对两个子序列继续进行快速排序,直至整个序列有序。 元素的比较和交换是从两端向中间进行的,排序码较大的元素一次就能够交换到后面,排序码较小的记录一次就能够交换到前面,记录每次移动的距离较远,因而总的比较和移动次数较少。 例如,给定排序码为:(46,55,13,42,94,05,17,70),具体划分如图7-4所示。 3.快速排序的效率分析 若快速排序出现最好的情形(左、右子区间的长度大致相等),则结点数n与二叉树深度h应满足log2nhlog2n+1 ,所以总的比较次数不会超过(n+1) log2n。因此,快速排序的最好时间复杂度应为O(nlog2n)。 已经证明,快速排序的平均时间复杂度也为O(nlog2
您可能关注的文档
最近下载
- 珠海裕珑石化有限公司原料供应点环评.pdf VIP
- 初二数学八年级上期期中模拟试卷实用版_1.pdf
- 白金大神跳舞谈网文之三(环境、情绪)(1).docx VIP
- 网文最强宝典-创世总编杨晨说网文(二)(全群阅读).doc VIP
- 珠海宝塔石化有限公司烯烃项目一期工程加氢与制氢联合装置.doc VIP
- 2024年自考00537《中国现代文学史》复习资料整编.pdf VIP
- 安徽大学人文社会科学类学术成果和科研项目分类.pdf
- 珠海中南汇化工有限公司石化库区三期扩建工程环评简本.doc VIP
- 珠海华峰石化有限公司万吨年重油流化转化-珠海高栏港经济区.doc VIP
- 肱骨骨折康复.pptx VIP
原创力文档

文档评论(0)