常用算法
沈阳阳阳
开开心心,简简单单
展开
-
启发式算法
今天了解的启发式算法: 通俗的说,启发式算法是指在一个随机的群体寻优过程中,个体能够利用自身或者全局的经验来制定各自的搜索策略。相比最初的穷举迭代搜索或者随机搜索,一个显著的特点就是个体能够基于经验或者个体间经验交流改变搜索方式,是一种有目的或者有策略的方法。再通俗一点就是,咱们都生活在某个小区,你看到你邻居每天晚上摆地摊赚钱,你受到启发也每天去同样的地方摆地摊赚钱,然后越来越多的人发现摆地摊赚原创 2016-03-09 09:25:28 · 512 阅读 · 0 评论 -
快速排序
排序算法——快速排序 今天介绍快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。 思想 快速排序采用的思想是分治思想。 快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确转载 2016-03-09 09:32:42 · 240 阅读 · 0 评论 -
堆排序算法
堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。 二叉堆满足二个特性: 1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。 当父结点的键值总是大于或等于任何一个子节转载 2016-03-09 09:35:55 · 276 阅读 · 0 评论