
算法
博主最近在肝算法导论这本书,对于我这样的小菜鸡而言,手撸代码貌似是个不错的选择。该专栏用来记录我用python实现一些经典算法的过程。
秋分的剑客
这个作者很懒,什么都没留下…
展开
-
归并排序的详解与python实现
归并排序的详解与python实现算法思想归并排序是利用归并的思想实现的排序方法,该算法采用经典的分治策略,将问题拆分成一些小的问题然后递归求解,然后再将得到的解合并在一起,即分而治之。如下图(图是盗的):拆分:合并:即利用递归与分治的技术将数据序列划分为越来越小的半子表,再对半子表排序,最后再用递归方法将排好序的半子表合并成越来越大的有序序列,直至算法结束。算法步骤先把待排序区间 [s,t] 以中点二分;接着把左边子区间排序;再把右边子区间排序;最后把左区间和右区间用一次归并操作合原创 2020-06-24 22:26:02 · 322 阅读 · 0 评论 -
插入排序的详解与python实现
插入排序的详解与python实现算法思想插入排序,顾名思义,其排序方式如同人们排序一手扑克牌一般。排序开始时,手里的牌为空,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较,如下图所示:(图片来源于Danny_姜)将数组中待排序的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素,然后在未排序区间中依次取出元素并插入到已排序区间的合适位置,并保证已排序区间一直是有序。重复这个步骤直到未原创 2020-06-24 01:55:17 · 457 阅读 · 0 评论