
算法
文章平均质量分 81
咯咯131459
这个作者很懒,什么都没留下…
展开
-
第九届蓝桥杯 乘积尾零 (Python 实现)
第九届蓝桥杯 乘积尾零 (Python 实现)乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 3135 1170 4014 5510 5120 729 2880原创 2021-03-23 12:46:44 · 456 阅读 · 0 评论 -
Fighting-算法-堆排序
""" 堆排序:是一种树形选择排序方法,特点: 在排序的过程中,将L[1...n]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系, 在当前无序区中选择关键字最大(或最小)的元素。 堆的定义如下: n个关键字序列L[1...n]称为堆,当且仅当该序列满足: 1、 L(i) <= L(2i)...原创 2019-02-21 10:59:32 · 186 阅读 · 0 评论 -
Fighting-算法-简单选择排序
"""选择排序的基本思想: 给定序列 L[1,2,3,...,i,i+1,...,n-1,n], 每一趟(例如地i趟)在后面n-i+1(i=1,2,...,n-1)个待排序的元素中, 选取关键字最小的元素,做为有序子序列的第i个元素,直到第n-1趟排完,待排序元素只剩下一个时结束。简单选择排序思想: 假设排序表为L[1...n]...原创 2019-02-21 10:56:42 · 255 阅读 · 0 评论 -
Fighting-算法-归并排序
"""归并排序: 归并:将两个或者两个以上的有序表组成一个新的有序表。 2-路归并排序:假定待排序表含有n个记录,则可以看成是n个有序的子表,每个子表的长度为1,然后两辆归并,得到[n/2]个长度为2或者1的有序表。 再两两归并,.....如此重复,知道合成一个长度为n的有序表为止。 二路归并排序(稳定排序),结果升序 算法思想: 2-路归并排序主旨是“...原创 2019-02-21 10:18:01 · 116 阅读 · 0 评论 -
Fighting-算法-冒泡排序
"""交换排序:根据序列中两个元素关键字的比较结果来兑换这两个记录在序列中的位置。以下是冒泡排序的两种实现:"""def bubbleSort(lists): size = len(lists) if size == 0: return # k 表示lists 的元素个数,有多少个元素就外部迭代多少次。 # 冒泡排序的特点是,每一趟排...原创 2019-02-21 10:33:53 · 130 阅读 · 0 评论 -
Fighting-算法-插入排序
"""插入排序思想: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中,直到全部记录插入完成。经典的插入排序:直接插入排序、折半插入排序、希尔排序待排序表L[1...n]在某次排序过程中的某一时刻状态如下“ 有序序列L[1...i-1] L[i] 无序序列L[i+1....n]为了实现将元素L(i)插入到已有序的子序列L[1...i...原创 2019-02-21 10:45:14 · 128 阅读 · 0 评论 -
Fighting-算法-快速排序
"""快速排序的思想是基于分治法的思想:在待排序的表L[1...n]中任意取一个元素pivot作为基准,通过一趟排序将待排序表划分为独立的两部分L[1...k-1] 和 L[k+1...n],使得L[1...k-1]中所有元素小于pivot, L[k+1...n]中所有的元素大于或等于pivot,则pivot放在了其最终位置L[k]上,这个过程称为一趟排序。而后分别对两个子表重复上述过...原创 2019-02-21 10:42:27 · 152 阅读 · 0 评论 -
Fighting-算法-基数排序
"""基数排序: 基数排序是一种很特别的排序方法,它不是基于比较进行排序的算法,而是多关键字排序思想。借助‘分配’和‘收集’两种操作, 对单逻辑关键字进行排序。基数排序又分为最高位优先(MSD)排序和最低位优先(LSD)排序。 MSD:先从高位开始进行排序,对每个关键字,可采用计数排序 LSD:先从低位开始进行排序,对每个关键字,可采用桶排序...原创 2019-02-23 14:22:50 · 177 阅读 · 0 评论 -
Fighting-算法-桶排序
"""桶排序基本思想: 将待排序集合中处于同一个'范围'的元素存入同一个桶中,根据划分范围和映射规则把集合拆分成多个桶, 对每个桶中的元素进行排序,则所有桶中元素构成的集合是有序的。计数排序与桶排序区别: 计数排序:申请的额外空间跨度从最小值到最大值,若待排序集合中元素不是依次递增,则空间浪费。 桶排序 :在最小值到最大值之间的固定区域范围申请空间,减少了元...原创 2019-02-23 10:26:44 · 170 阅读 · 0 评论 -
Fighting-算法-计数排序
本博客转自:https://blog.youkuaiyun.com/wardseptember/article/details/81434641以下是本人自己理解,共勉!""" 计数排序--算法思想: 假设要排序的数组为 nums = [1,0,3,1,0,1,1] 结果输出:[0, 0, 1, 1, 1, 1, 3] 1、首先求出nums的长度,最大值和最小值。 nums_...原创 2019-02-23 08:55:09 · 219 阅读 · 0 评论