冒泡排序简易分析(py, js)
Posted BgcolorBlue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序简易分析(py, js)相关的知识,希望对你有一定的参考价值。
冒泡分析(按照升序)
第一个元素和之后元素分别进行比较,前大于后则换位置,
第一轮得到最大元素在最后,以此类推
比如排列一个长度为5的列表:
第一轮(i=0)需要比较4次(len-1-i)可将其中最大元素排到末位
第二(i=1)轮需要比较3次(len-1-i)可将其中第二大元素排到倒数第二位
…
第三轮(i=2),比较2次…
第四轮(i=3),比较1次…
推出长度为n的列表需要进行n-1轮的比较,
第一轮比较n-1次,直到最后一轮比较1次,排列出所有元素。
python代码实现:
def bubble(a):
# 外层循环决定排序的轮数
for i in range(len(a)-1):
# 内层循环决定每轮排序需要比较多少次
for j in range(len(a)-1-i):
# 如果前面的元素大于后面的,交换位置
if a[j] > a[j+1]:
a[j],a[j+1] = a[j+1],a[j]
print(a)
JS代码实现:
function bubble(a):
// 外层循环决定排序的轮数
for(i=0;i<a.length-1;i++){
// 内层循环决定每轮排序需要比较多少次
for(j=0;j<a.length-1-i;j++){
// 如果前面的元素大于后面的,交换位置
if(a[j+1]<a[j]){
var tmp;
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
document.write(a)
以上是关于冒泡排序简易分析(py, js)的主要内容,如果未能解决你的问题,请参考以下文章
算法漫游指北(第七篇):冒泡排序冒泡排序算法描述动图演示代码实现过程分析时间复杂度和选择排序算法描述动图演示代码实现过程分析时间复杂度
算法漫游指北(第七篇):冒泡排序冒泡排序算法描述动图演示代码实现过程分析时间复杂度和选择排序算法描述动图演示代码实现过程分析时间复杂度