算法
NeDong
这个作者很懒,什么都没留下…
展开
-
堆、堆排序和优先队列
一、堆堆就是一个数组,不过这个数组中数据的存储可以用完全二叉树来展现,树上的每一个节点对应堆中的一个元素。父节点和左右子节点的对应关系为:left(i) = (i >> 1) + 1, right(i) = (i >> 1) + 2, parent(i) = (i - 1) >> 1.堆分为最大堆和最小堆。最大堆特点是除了根节点之外,所有节点都满足 A[parent(i)] >= A[i]原创 2015-08-19 19:22:35 · 327 阅读 · 0 评论 -
计数排序
计数排序是一个非比较的线性时间排序算法,时间复杂度为O(n),是稳定算法。该算法有一个前提条件:要排序的n个元素都是在[0,k)范围的整数,其中k是某个整数。计数排序的基本思想是:对每一个元素x,确定了小于x的元素的个数,然后直接把x放到数组对应的位置上。需要一个临时数组保存每个元素的个数。C语言代码如下:#include using namespace std;/* arr为输入原创 2015-08-19 12:57:06 · 386 阅读 · 0 评论 -
条件概率、全概率公式与贝叶斯公式
http://www.360doc.com/content/07/0504/21/2459_482130.shtml转载 2017-02-21 19:33:22 · 384 阅读 · 0 评论