冒泡排序之python】的更多相关文章

1.将n个元素从大到小排序后,选择第k个大的元素 #!/usr/bin/env python #coding -*- utf:8 -*- #冒泡排序选第k个元素 import random import time def select_k(): n = int(input("所要生成的数组的长度:")) arraya = [] for i in range(n): x = random.choice(range(100)) arraya.append(x) print("所生…
冒泡排序算法的工作原理如下: 1.  比较相邻的元素.如果第一个比第二个大(升序),就交换他们两个. 2.  对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数. 3.  除了最后一个,所有的元素重复以上的步骤. 4.  持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. 例子图步骤如下: 冒泡排序代码实现: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "hsz…
目录 1. while版本--冒泡排序 2. for版本--冒泡排序 3. 测试用例 4. 算法时间复杂度分析 1. while版本--冒泡排序 def bubble_sort_while(a_list): """冒泡排序 while版本""" num = len(a_list) j = 0 while j < num-1: i = 0 count = 0; while i < num-1-j: if a_list[i] > a…
冒泡排序(Bubble sort) 两两比较相邻记录的关键字,如果反序则交换,直到没有反序记录为止. 1.算法描述: 比较相邻的元素.如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数: 针对所有的元素重复以上的步骤,除了最后一个: 重复步骤1~3,直到排序完成. 2.算法属性: 时间复杂度:O(n^2) 空间复杂度:O(1) 稳定性:稳定(下图Stable*表示是否稳定) O(1) :额外的空间  (best c…
冒泡排序:每两个相互比较,总是选出大的相互交换,直至最后选出该列表中最大的数字 def bubbleSort(myList): for i in range(len(myList)-1):#一共进行几轮列表比较,一共是len(myList)-1 轮 for j in range(len(myList)-1-i):#每一轮的比较,注意range的变化,这里需要进行len(myList)-1-i 长的比较,注意-i 的意义(可以减少比较已经排好序的元素 if myList[j]>myList[j+1…
实现源码 def bubble(array): flag = len(array)- : iter = for i in range(flag): ]: array[i], array[i+]= array[i+],array[i] iter=i flag = iter array = [,,,,,,] if __name__ == "__main__": bubble(array) print array…
li = [33, 2, 10, 1,564,880,8,99,51,3]# for i in range(len(li) - 1):#     current = li[i]#     next_value = li[i + 1]#     if li[i] > li[i + 1]:#         temp = li[i]#         li[i] = li[i + 1]#         li[i + 1] = temp# print(li)## for i in range(len…
#-*- coding: UTF-8 -*- import numpy as np def BubbleSort(a): for i in xrange(0, a.size): for j in xrange(i,a.size): if a[j] < a[i]: a[i], a[j] = a[j], a[i] if __name__ == '__main__': a = np.random.randint(0, 10, size = 10) print "Before sorting...…
阅读目录 一.python基础 二.python高级 三.python网络 四.python算法与数据结构 一.python基础 人生苦短,我用Python(1) 工欲善其事,必先利其器(2) python基础-变量运算符(3) python基础-分支判断语句(4) python基础-循环语句(5) python基础-字符串(6) python基础-列表(7) python基础-字典(8) python基础-函数(9) python基础-文件操作(10) 二.python高级 python高级-…
python排序之二冒泡排序法 如果你理解之前的插入排序法那冒泡排序法就很容易理解,冒泡排序是两个两个以向后位移的方式比较大小在互换的过程好了不多了先上代码吧如下: 首先还是一个无序列表lis,老规矩打印出来和最后排序对比看,函数方法bubbie_sort冒泡排序,count计数也就是列表长度len(列表),第一个for循环取列表中的第一个值然后向后位移,第二个for循环取列表i+1也就是第二个值向后位移,这表是第二个for只会取第一个for后面的值好做比较,count长度一直15,如果两个不一…