收拾心灵_描绘未来

让自己的努力变得更有价值

数据结构系列——堆

堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。

2015-11-19 13:13:20

阅读数:1758

评论数:0

排序算法系列——八大排序算法对比分析

本系列最后一篇,综合分析下前面介绍的八种排序算法的效率,以及各自的适用情况。 通知实际测试比较各排序算法的效率,并分析各个排序算法的适用场景。

2015-08-21 19:14:48

阅读数:1233

评论数:0

排序算法系列——基数排序

基数排序不同于其他的七种排序算法,它是基于一种分配法,而非比较。基数排序属于“分配式排序”(distribution sort),基数排序法又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用。它的灵感来...

2015-08-21 12:05:09

阅读数:930

评论数:0

排序算法系列——归并排序

归并排序的核心思想同上一篇介绍的快速排序,都是采用了分治法的思想。其基本思想是将一个待排序序列,划分成两个子序列,然后将这两个子序列排好序之后合并,并递归的将子序列划分为更小的子序列,一直到只有一个元素的子序列,然后自底向上两两合并。

2015-08-20 13:42:48

阅读数:593

评论数:0

排序算法系列——快速排序

快速排序同冒泡排序,是交换排序的一种。快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。快速排序的时间复杂度是O(nlogn),比其他O(n^2)的排序算法快很多,不过实现起来还是有一定...

2015-08-19 17:35:39

阅读数:828

评论数:0

排序算法系列——冒泡排序

冒泡排序是交换排序的一种,其思想是从序列头部开始逐步往后遍历,每次遍历比较相邻两个元素,如果顺序不对则交换,n-1次遍历之后序列就完成了排序。

2015-08-18 11:31:26

阅读数:570

评论数:0

排序算法系列——堆排序

堆排序同直接选择排序一样是选择排序的一种。堆排序是借助一种数据结构——堆来完成排序,堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 什么是堆: 关于二叉树这里就不叙述了。堆(二叉堆)可以视为一棵完全的二叉树,完全二叉树的一个“优秀”的性...

2015-08-14 18:39:22

阅读数:640

评论数:0

排序算法系列——直接选择排序

前面两篇介绍了两种插入排序算法:直接插入排序和希尔排序。这篇介绍选择排序的一种:直接选择排序。从名字就可以看出直接选择排序与直接插入排序很相似,两者相同点在与都是将待排序序列分成有序区和无序区两部分,不同之处在于直接插入排序是从无序区选出一个插入到有序区合适的位置,而直接选择排序是从无序区选出最小...

2015-08-13 20:08:51

阅读数:683

评论数:0

排序算法系列——希尔排序

希尔排序同之前介绍的直接插入排序一起属于插入排序的一种。希尔排序算法是按其设计者希尔(Donald Shell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本。它的作法不是每次一个元素挨一个元素的比较。而是初期选用大跨步(增量较大)间隔比较,使记录跳跃式接近它的排序位置;然后...

2015-08-13 10:55:23

阅读数:645

评论数:0

一个简单的二叉查找树实现

/** * <p> * 二叉树 * </p> * * @author Vicky * @date 2015-8-10 */ class BSTree { private Node root; private int num;// 节点数量 ...

2015-08-10 16:17:49

阅读数:796

评论数:0

算法系列:PageRank算法的MapReduce实现

首先简单介绍PageRank的算法公式: (图片来源:http://en.wikipedia.org/wiki/Page_rank) PR(A)即A的PageRank值;d为阻尼因子,一般设为0.85;L(B)即B网站所有的出链数量(即B网站内的所有链接的数量)。 所以公式的意义是:A的PageR...

2014-03-01 17:28:09

阅读数:2677

评论数:12

算法系列:矩阵相乘算法的MapReduce实现

使用MapReduce方式实现矩阵相乘算法,支持map输出切分。附有代码,注释完善。

2013-11-28 23:42:39

阅读数:1620

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭