算法
文章平均质量分 81
嘿嘻
这个作者很懒,什么都没留下…
展开
-
排序算法——插入排序
思想插入排序的思想有点像打扑克抓牌的时候,我们插入扑克牌的做法。想象一下,抓牌时,我们都是把抓到的牌按顺序放在手中。因此每抓一张新牌,我们都将其插入到已有的排好序的手牌当中,注意体会刚才的那句话。也就是说,插入排序的思想是,将新来的元素按顺序放入一个已有的有序序列当中。举个例子可能更容易理解一些,假设有这样一系列数字: 8 2 4 9 3 6 首先我们考虑数字2,假设后转载 2016-10-13 17:51:44 · 206 阅读 · 0 评论 -
排序算法——冒泡排序
在前面的文章中,已经向大家介绍了插入排序和选择排序两种基本的排序方法。今天要介绍的是另外一种排序方法——冒泡排序。思想同之前介绍的两种排序方式一样,冒泡排序也是最简单最基本的排序方法之一。冒泡排序的思想很简单,就是以此比较相邻的元素大小,将小的前移,大的后移,就像水中的气泡一样,最小的元素经过几次移动,会最终浮到水面上。举例分析说明一下,如下数据:2 7 4 6 9转载 2016-10-13 18:01:13 · 168 阅读 · 0 评论 -
排序算法——快速排序
今天介绍快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。思想快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n转载 2016-10-13 18:02:30 · 179 阅读 · 0 评论 -
五大常用算法——分治法,动态规划,回溯法,分支界限法,贪心算法
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题转载 2016-10-20 10:35:28 · 525 阅读 · 0 评论