Python
Lee_yc
学无止境
展开
-
Python实现希尔排序算法
Shell_sort将一组数据通过gap分组,每一组相同位置的数值当成一个列表,用插入排序的方式排列,然后,gap继续对二取整,将源列表分成更小的组,并且把每组相同位置的数值用插入排序的排序。直到gap=1时,结束这个循环,整个排序过程结束。...原创 2021-06-05 15:50:36 · 126 阅读 · 0 评论 -
Python实现桶排序
桶排序就是生成一定量的桶,将相同i(下面代码中将数字分类的一个算法)的数字放在同一个桶内,同时也要保持桶内的有序性,最后清空原有列表,将所有的同一一加入到原有列表中,这样列表中的数字就会时排好序的。...原创 2021-06-05 14:04:10 · 228 阅读 · 0 评论 -
Python实现快速排序
快速排序:给函数传入三个参数,分别是列表,列表的左端第一个元素,末尾的最后一个元素作为两个游标。取左边的第一个元素作为中间值,列表左边的第一个位置为空,所有要先从右边判断。游标所在位置的元素如果大于中间值就移动游标,如果小于中间值就将次元素放到中间值的左边,然后右边有一个空位置。开始判断左边的元素,如果小于中间值就移动left游标,直到游标所在位置的值大于中间值,那么就把这个值放到右边去,当左右两边的游标在同一位置时,就把中间值放到这个位置,最后返回中间值所在的下标以方便下一个函数的遍历。..原创 2021-06-03 12:17:13 · 138 阅读 · 0 评论 -
Python实现计数排序算法
计数排序:首先生成一个全部都是0的列表count,遍历给定列表中的所有值,在count中对应的下标中的数加一,将源列表清空用来接收新的排序。遍历count中的所有值和下标,将对应值的下标添加到新列表当中。排序结束。def countingSort(li,max=100): count = [0 for _ in range(max+1)] #生成一个100个0的列表 for value in li: count[value] += 1 li.clear().原创 2021-06-03 12:04:44 · 385 阅读 · 0 评论 -
Python实现插入排序算法
insert_sort首先定义一个游标current,将游标对应的值用while循环遍历与游标前面的值对比,找到游标对应的位置插入到那个位置原创 2021-06-01 19:48:03 · 181 阅读 · 0 评论 -
Python实现选择排序算法
select_sort选择排序并不难。首先控制第一层循环原创 2021-06-01 13:03:18 · 171 阅读 · 0 评论 -
Python实现冒泡排序算法
冒泡排序算法简单来说就是将一个无序的列表,从第一个元素开始与后面的元素比较,大于后面的元素就交换位置,小于后面的元素就在用后面的那一个元素与下下一个元素相比,直到最后一个元素算是排完一轮这个过程就是是泡泡往上冒一样,故称为冒泡算法。import randomdef bubbleSort(li): n = len(li) for i in range(n-1): #n个数字只需要排n—1次就够了 for j in range(n-1-i): #每循环完一次就排好原创 2021-06-01 00:11:40 · 411 阅读 · 0 评论