做网站推广怎么样,如何建立网站快捷链接,wordpress用户仪表盘如何设计,热搜词排行榜#x1f929;本文作者#xff1a;大家好#xff0c;我是paperjie#xff0c;感谢你阅读本文#xff0c;欢迎一建三连哦。 #x1f970;内容专栏#xff1a;这里是《算法详解》#xff0c;笔者用重金(时间和精力)打造#xff0c;将算法知识一网打尽#xff0c;希望可以… 本文作者大家好我是paperjie感谢你阅读本文欢迎一建三连哦。 内容专栏这里是《算法详解》笔者用重金(时间和精力)打造将算法知识一网打尽希望可以帮到读者们哦。 内容分享本期会对C语言中的冒泡排序进行分析讲解什么是冒泡排序冒泡排序的思想怎样实现冒泡排序。 不要998只要一件三连三连买不了吃亏买不了上当(写作不易求求了) 目录 目录
前言
什么叫做冒泡排序
算法思想
冒泡排序的具体实现
冒泡排序的优缺点
总结 前言
上期我们对二分查找进行了详细的讲解介绍了它的由来算法思想和最终怎样实现二分查找。想了解的小伙伴可以去看看哦http://t.csdn.cn/EM3dM。接下来就开始本期的内容叭
什么叫做冒泡排序
百度百科中说冒泡排序Bubble Sort是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列依次比较两个相邻的元素如果顺序如从大到小、首字母从Z到A错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端升序或降序排列就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样故名“冒泡排序”。
算法思想
冒泡排序的核心思想是让相邻的元素两两比较每一对都要比较符合要求就交换位置不断重复直到没有元素需要比较
算法思想的实现假设数组内有n个数随机排放。1.在数组初始状态下 我们将整个数组设为排序范围范围为数组下标为0-n-1的数。 2.从下标为0的数开始两两相邻的数比较如果前一个数大于后一个数则进行交换。交换后再和后一个数进行比较一直比较到最后一个数这样最大的数就被排到到最后了。 3.前面为第一趟排序我们需要进行n-1趟排序假设第一次排序标记为0标记数为i每过一趟i1那么每次排序需要两两比较的次数为 n-1-i。4排序到没有元素可以排序后则排序完成。文字那么生涩难懂直接上图片分析叭 冒泡排序的具体实现 冒泡排序的优缺点
优点冒泡排序比较简单空间复杂度较低具有算法稳定性冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较交换也发生在这两个元素之间。所以如果两个元素相等是不会再交换的如果两个相等的元素没有相邻那么即使通过前面的两两交换把两个相邻起来这时候也不会交换所以相同元素的前后顺序并没有改变所以冒泡排序是一种稳定排序算法。但是它的缺点也比较显著:时间复杂度太高效率慢 总结
1.计算元素的个数确定排序的趟数(为个数-1) 2.确定每趟两两比较的次数。(每过一趟两两比较次数减一)、
3.直到没有元素比较则结束。