冒泡排序怎么排序图解 冒泡排序和快速排序有什么区别?
冒泡排序和快速排序有什么区别?
气泡排序是一种交换排序。让n个数据依次放置在数组元素a(1)到a(n)中。用气泡法对N个数据进行增量排序的过程是:先比较a(1)和a(2),如果顺序相反,则进行交换,然后比较a(2)和a(3),如果顺序相反,则进行交换,只有在a(N-1)和a(N)进行比较和交换后,第一轮比较交换才完成。然后用相同的规则进行第二次交换,直到数据被排序。在最坏的情况下,比较1/2n(n-1)次,交换3/2n(n-1)次。快速排序是著名计算机科学家c.a.r.hoare提出的一种基于气泡排序的高效排序算法。它的基本思想是:在要排序的序列中选择一个元素(通常是第一个元素)x,按照一定的规则多次交换位置后,它移动到一定的位置,对原序列的位置进行划分,因此,得到的两个子序列符合X的排序规则。在这个序列中,元素X称为划分元素。然后,根据该方法再次划分两个字序列,直到获得不需要进一步划分的子序列。这个过程显然是递归的。在大多数情况下,快速排序比冒泡排序更有效。如果你需要算法或代码,你可以改进自己。
什么叫冒泡排序?
冒泡排序的基本概念是:依次比较两个相邻的数字,将小数放在前面,将大数放在后面。也就是说,在第一遍:首先,比较第一和第二个数字,把小数放在前面,把大的数字放在后面。然后比较第二个数和第三个数,把小数放在大数之前,依此类推,直到最后两个数比较,把小数放在大数之前。到目前为止,第一次通过已经结束,最大的数字已经结束。在第二次运行中:比较仍然从第一个对数开始(因为由于第二个数和第三个数的交换,第一个数不再小于第二个数)。将小数点放在大的数字之前,比较直到倒数第二个数字(倒数第二个数字的位置已经是最大的)。在第二次运行结束时,在倒数第二个数字(实际上是整数的位置)的位置获得一个新的最大数,该位置是序列中第二大的数字。这样,重复上述过程,直到完成最终排序。
冒泡排序怎么排序图解 冒泡排序算法代码 冒泡排序法的基本思路
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。