![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
简单算法
分享一些技术经验
运维导航
这个作者很懒,什么都没留下…
展开
-
排序算法之归并排序(Python-C++)
排序算法之归并排序(Python-C++) 今天我们来学习一下归并排序的算法, 归并排序呢相对于前面的冒泡啊,插入啊,选择啊,速度和效率上是有明显优势的,尤其是对于大数据的排序效果更好,对于小数据可以使用前面的算法,如果对于大数据还使用前面的算法,,,你试试1G的数据排序要多久,10G,100G呢? 归并排序算法原理: 归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全原创 2020-11-06 01:51:32 · 131 阅读 · 0 评论 -
排序算法之希尔排序(Python-C++)
排序算法之插入排序(Python-C++) 希尔排序呢算是插入排序的优化算法,下面是解释: 希尔排序(Shell’s Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法原创 2020-11-05 03:12:51 · 204 阅读 · 0 评论 -
排序算法之冒泡排序(Python-C++)
冒泡排序算法原理: 冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 Python代码实现 def sort_buble(sort_list): for i in range(len(sort_list) - 1): sorted =原创 2020-11-03 02:08:02 · 186 阅读 · 0 评论 -
排序算法之插入排序(Python-C++)
排序算法之插入排序 插入排序的工作方式像许多人排序一手扑克牌。开始时,我们的左手为空并且桌子上的牌面向下。然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较。拿在左手上的牌总是排序好的,原来这些牌是桌子上牌堆中顶部的牌 。 插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。按照此法对所有元原创 2020-11-03 11:40:38 · 222 阅读 · 1 评论 -
排序算法之选择排序(Python-C++)
选择排序原理 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 这里说下我对选择排序的理解: 比如说一组数我们需要对其进行排序,我们先假定第一个数就是最小的,记下它的编号,然后我们的目光就往后面看找找有没有比它还小的数,然后找呀找,突然发现其中有一个数比它还小,然后我们就知道了原来它不是最小的啊,然后在心里把当初默认最小的那个数的编号改成这个数的编号,然后又继续寻找,结果又发现更原创 2020-11-03 11:06:41 · 123 阅读 · 0 评论