选择排序Python实现 import random # 生成待排序数组 a=[random.randint(1,999) for x in range(0,36)] # 选择排序 def selectionSort(array): i=0 while i<len(array)-1: min = i j = i+1 while j<len(array): if array[min] > array[j]: min = j j = j+1 if i != min: array[i],arr…
►快速排序 <时间复杂度O(n㏒n)> def partition(li,left,right): tmp = li[left] while left < right: while left<right and li[right]>=tmp: #从最右面开始找比tmp小的数 right -= 1 li[left] = li[right] #把右边的值写到左边空位上 while left<right and li[left]<=tmp: left += 1 li[r…
稳定的排序算法:冒泡排序.插入排序.归并排序和基数排序. 不是稳定的排序算法:选择排序.快速排序.希尔排序.堆排序. 冒泡 def bobble(arr): length = len(arr) for i in range(length): for j in range(length-i-1): if arr[j] > arr[j+1]: arr[j],arr[j+1] = arr[j+1],arr[j] 选择 选择排序的思想是将序列分为有序和无序两个部分,不断从无序序列中选择最小的增加到有序序…
import random import time # 插入排序 def insertion_sort(arr, step): for i in range(step, len(arr)): for j in range(i, step - 1, -step): if arr[j] < arr[j-step]: arr[j], arr[j-step] = arr[j-step], arr[j] else: break # 希尔排序:插入排序算法的优化算法 def shell_sort(arr):…
题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 这就是排序题(将结果的最小K值输出) # -*- coding:utf-8 -*- #快速排序 def quick_sort(lst): if not lst: return [] pivot = lst[0] left = quick_sort([x for x in lst[1:] if x < pivot]) right = quick_sort([x…
有一个无序序列[37,99,73,48,47,40,40,25,99,51],先进行排序打印输出,分别尝试插入20/40/41 数值到序列中合适的位置,保证其有序. 1.for 循环实现 第一种实现,利用嵌套for循环,每次迭代出来的数值进行比较.如果比原表中的数值小,则插入到这个数左面. lst1 = [37,99,73,48,47,40,40,25,99,51] lst = sorted(lst1) for x in (20,40,41,100): i = 0 for i,v…
冒泡排序: 比较相邻的元素.如果第一个比第二个大,就交换它们两个: 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数: 针对所有的元素重复以上的步骤,除了最后一个: 重复步骤1~3,直到排序完成. #冒泡排序 def bubble_sort(list): for i in range(len(list)-1): for j in range(len(list)-i-1): if list[j]>list[j+1]: list[j], list[j +…
def findSmallest(arr): smallest = arr[0] smallest_index = 0 for i in range(1, len(arr)): if arr[i] < smallest: smallest = arr[i] smallest_index = i return smallest_index def selectionSort(arr): newArr = [] for i in range(len(arr)): smallest = findSma…
sorted排序 python sorted 排序 1. operator函数在介绍sorted函数之前需要了解一下operator函数. operator函数是python的内置函数,提供了一系列常用的函数操作比如,operator.mul(x, y)等于x+y python 5行 a = [,,] b = [,,] c = map(operator.mul, a, b) ,,] >>> b=operator.itemgetter() //定义函数b,获取对象的…