bubble-sort - 插入和冒泡算法理论
问题描述
插入排序算法和冒泡排序算法有什么区别?
我到处搜索,但我没有找到确切的答案
解决方案
插入排序将您的数组分为两部分,已排序的部分和未排序的部分。该算法采用未排序部分的第一个元素并将其插入到已排序部分的正确位置。因为它试图在每个元素出现时放置它们,所以排序的部分可能经常被重写,这是相当昂贵的。
相反,冒泡排序遍历数组并一次比较两个值。较大的(或较小的 [取决于您的实现])值被推到数组的末尾(它冒泡),然后它查看接下来的两个值(它刚刚冒泡的一个值和下一个)。当算法通过数组工作时,最大(或最小)值是数组中的最后一个值。它重复这个过程(保持数组末尾的排序值不变),直到数组被排序。如果您不每次都交换值,而只是标记最大值,则可以通过每次迭代一次交换来实现这一点。
推荐阅读
- php - PHP重复字段多维数组
- azure - 调用 APIM 管理器 API 失败
- php - 如果 user_id 和 post_id 相同,如何从我的数据库中删除一个赞?
- sonarqube - 无法将 SonarQube 与 SQL 服务器连接
- spring - 为什么我的 Spring 导入语句不起作用?
- ios - SCNLevelOfDetails 委托/通知
- oracle - Oracle DB Developer 导入 .dmp 时出错
- sql - 了解引用触发操作的工作原理
- unity3d - 如何从中间点开始 Vector3.Lerp?
- php - 在编辑器上更新 header.php 时,Wordpress 主题崩溃