算法
文章平均质量分 88
iteye_10244
这个作者很懒,什么都没留下…
展开
-
BitSet位图算法
位图算法,使用bit存储数据并排序,优点是快速、占用资源少,缺点是只能对整数使用。 Java和C++中都有已经实现的的BitSet类,可以直接使用。 举个例子,0到10000中随机出1000个数,然后用位图算法排序: import java.util.BitSet;public class BitSetDemo { public sta...2010-10-21 17:33:22 · 328 阅读 · 0 评论 -
尾递归
递归很常用,但是很耗内存,因为需要存储临时变量,当递归次数多了,占据的内存数量惊人。如下, 是阶乘的递归:int function(n) { return n==1?1:function(n-1)*n;} 还有更好的递归算法,称为尾递归。这种方式不需要存储临时变量。因为是从erlang中学到的,所以先给出erlang的实现方法:-module(test).-ex...2010-06-07 11:12:08 · 78 阅读 · 0 评论 -
随机打乱一个数组的顺序
把一个数组的顺序打乱,很常用的算法,比如洗牌。。 代码如下:import java.util.Random;public class RandomSort { private Random random = new Random(); //数组大小 private static final int SIZE = 10; //要重排序的数组 ...2010-06-20 13:52:31 · 677 阅读 · 0 评论 -
一些重要的算法
下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的或是比较生僻的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)A*搜寻算法俗称A星算...原创 2010-07-23 20:52:15 · 92 阅读 · 0 评论