算法
风裳
好好学习,天天向上。
展开
-
八大排序之——快速排序(快排)及其优化
快速排序,是一个较为高效的不稳定排序算法,其排序效率在同为O(N*logN)的几种排序算法当中也较为高效,使用率可谓名列前茅,尽管它是一种不稳定的排序算法(排序的过程中相等的值的位置可能有所变化),但仍然十分受欢迎。其核心思想是选中一个基点,通过一次排序操作将整个序列划分为两个子序列,左子序列的值都比基点要小,右子序列的值都比基点要大,按照该方法又对两个子序列进行快排操作,不断地重复上面的操作,最后达到全部的序列都排序好,使整个序列排序为有序数列。其算法思想的本质也是分治策略,对数据分布越乱的序列排序效率越原创 2020-06-30 22:23:58 · 618 阅读 · 0 评论 -
八大排序之——归并排序
归并排序,是一个建立在归并操作基础上的一种排序算法, 该算法也是运用了分治策略的思想,通过不断地二等分子序列,将其排序至有序,再合并回序列里,最终达到排序的目的。归并排序是一个比较稳定的排序算法。其速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。 其算法原理如下: 1.申请一个与待排序序列大小相等的空间,用于临时存放排序结果。 2.取待排序序列的中间为界,将划分出的两个子序列进行归并排序,反复二等分并进行归并排序 3.将归并好的子序列合并存储至临时空间当中,并将存储好的结果原创 2020-06-30 13:25:54 · 217 阅读 · 0 评论 -
浅析二分查找法:这么好用的方法必须学会!
二分查找法,又称折半查找法,它是一种效率比较高的查找方法,适用于按顺序存储结构,且表中的元素是按关键字有序排序的线性表当中。时间复杂度为O(lg n)。在一定的情况下,二分查找法是特别高效的选择。 二分查找法的核心思想是分治策略,在有序排序的线性表里,如果待查询的值小于中间的值的话,那么待查询的值绝对只可能在起始到中间的范围当中,同理如果大于中间的值都会话,就只可能在中间到末尾的范围里。通过每一次比较,我们可以不断缩小查询的范围,如果待查询的值在线性表当中存在的话,那么最后待查询的值会等于某一次缩小到的范围原创 2020-06-29 22:36:00 · 342 阅读 · 0 评论