易截截图软件、单文件、免安装、纯绿色、仅160KB

Java搜索算法测试

任何项目开发中,在一个集合或数组中循环查找,搜索目标数据,是经常用到的。如果搜索的数据范围比较小,那么不管什么算法,对于今天的计算机来说,性能上基本差别不大,但是如果数据量达到几百万,甚至更大,那么算法的选择和优化就显得比较重要。有空之余测试了下顺序搜索和二分搜索的性能,竟然发现效率差异在1500倍左右。当然,这2种比较的前提是,集合中的数据已经进行了排序处理。
下边是测试代码:
 /**
 * 搜索算法测试,主要是比较二分搜索和顺序搜索的效率
 * @author 百里乐
 */
public class SearchTest
{
 /** 被搜索数据的大小*/
 private static final int size = 5000000;
 /**
  * 启动方法
  * @param args
  */
 public static void main(String[] args)
 {
  long[] data = new long[size];
  
  //添加测试数据
  for(int k =0 ;k<data.length;k++)
  {
   data[k] = k;
  }
  
  // 要查找的数据
  long target = 4980002;
  binaryFindTest(data,target);
  orderFindTest(data,target);
 }
 /**
  * 二分搜索测试
  * @param data 数据集合
  * @param target 搜索的数据
  */
 public static void binaryFindTest(long[] data, long target)
 {
  long start = System.nanoTime();
  int result = binaryFind(data,target);
  long end = System.nanoTime();
  System.out.println("binary search position:" + result);
  System.out.println("binary search time:" + (end-start));
 }
 /**
  * 顺序搜索测试
  * @param data 数据集合
  * @param target 搜索的数据
  */
 public static void orderFindTest(long[] data, long target)
 {
  long start = System.nanoTime();
  int result = orderFind(data,target);
  long end = System.nanoTime();
  System.out.println("order search position:" + result);
  System.out.println("order search time:" + (e


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

java使用rocksaw和vserv tcpip实现基于ICMP的Ping功能

一:准备 www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
 1.  build vserv-tcpip-0.9.2-src
      在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......

JAVA定时器使用,转载2~

JAVA定时器(java.util.Timer)
2009年07月30日 星期四 下午 02:17
【1】Java 定时器(java.util.Timer)有定时触发计划任务的功能,通过配置定时器的间隔时间,在某一间隔时间段之后会自动有规律的调用预先所安排的计划任务(java.util.TimerTask)。与每个 Timer 对象相对应的是单个后台线程,用于顺序地执行所有计时器 ......

Java新手留意:Java编程三十条规则

Java新手留意:Java编程三十条规则
 
   (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:
ThisIsAClassName
thisIsMethodOrFieldName
 
  若在定义中出现了常数初始化字符,则大写stati ......

由一道题来看java初始化顺序

今天看到一道题目,是这样的:(我在里面打印了一些语句,先注释掉了)
class Singleton {
private static Singleton obj= new Singleton();
public static int counter1;
public static int counter2 = 2;
private Singleton() {
counter1++;
counter2++;
// System.out.println("Singleton counter1:" ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号