public static void main(String[] args) {
int[] nums = new int[10000000];
for (int i = 0; i < 10000000; i++) {
nums[i] = i;
}
commonSearch(nums, 10000000 - 1); //普通查询
binarySearch(nums, 10000000 - 1); //二分查询
}
// 普通查询
public static void commonSearch(int nums[], int snum) {
long timsf = System.nanoTime();
for (int i = 0, len = nums.length; i < len; i++) {
if (nums[i] == snum) {
System.out.println("普通循环总共循环:" + (i + 1) + "次");
break;
}
}
long timse = System.nanoTime();
System.out.println("普通循环总共耗时:" + (timse - timsf) + "ns");
}
// 二分查询
public static void binarySearch(int nums[], int snum) {
int index = 0;
int low = 0;
int hig = nums.length - 1;
long timsf = System.nanoTime();
for (int i = 0, len = nums.length; i < len; i++) {
index = (low + hig) / 2;
if (nums[index] == snum) {
System.out.println("二分查询总共循环:" + (i + 1) + "次");
break;
} else if (nums[index] < snum) {
low = index + 1;
} else {
hig = index - 1;
}
}
long timse = System.nanoTime();
System.out.println("二分查询总共耗时:" + (timse - timsf) + "ns");
}
执行结果:
普通循环总共循环:10000000次
普通循环总共耗时:22860745ns
二分查询总共循环:24次
二分查询总共耗时:65987ns
long timse = System.nanoTime();
"这里为了体现性能结果采用纳秒来计算。"
分享到:
相关推荐
与 Exception 有关的 Java 关键字 throws 和 throw try 、finally 、catch 什么是 Error 内部类 创建内部类集合 Iterable 接口顶层接口 ArrayList Vector LinkedList 类Stack HashSet TreeSet LinkedHashSet 类 ...
普通帖子:提问或分享对别人有帮助的经验与见解 思绪:写作过程的记录与重放,文字版的沙画表演 (?) 小黑屋:邀请好友在私密空间中进行交流 同城广播:发起你所在城市的招聘、Meetup 等 另外,所有帖子都可以...
第二部分 ORACLE应用系统设计优化 91 第8章ORACLE数据库系统优化安装 91 §7.1 应用系统环境规划和Oracle系统安装考虑 91 §7.1.1 操作系统安装考虑 91 §7.1.2 Oracle系统安装考虑 92 §7.2 关于创建多个Oracle实例...
VB与VC_环境下基于MapX的二次开发比较.pdf VC++环境下快速可重组测控实验系统的开发.pdf VC6_0与MATLAB7_x混合编程方法研究.pdf VC_6_0和Matlab编程矩阵电路程序.pdf VC_6_0实现客户端与服务器端通讯.pdf VC_6_0实现...
VB与VC_环境下基于MapX的二次开发比较.pdf VC++环境下快速可重组测控实验系统的开发.pdf VC6_0与MATLAB7_x混合编程方法研究.pdf VC_6_0和Matlab编程矩阵电路程序.pdf VC_6_0实现客户端与服务器端通讯.pdf VC_6_0实现...
VB与VC_环境下基于MapX的二次开发比较.pdf VC++环境下快速可重组测控实验系统的开发.pdf VC6_0与MATLAB7_x混合编程方法研究.pdf VC_6_0和Matlab编程矩阵电路程序.pdf VC_6_0实现客户端与服务器端通讯.pdf VC_6_0实现...
Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,...
第三章 Sql查询与函数 一、 SQL概述 SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。 SQL...
(一)项目要求使用B/S结构,利用Java EE开发平台,实现一个B/S结构的分布式系统,并实现系统的各项功能,包括数据录入、修改、查询,交易过程等。 (二)要求使用JSF作为页面开发手段,请勿使用JSP页面。 (三)...
Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,...
图书管理系统 系别:计算机科学与技术系网络工程方向 班级:****班 分 组:第9组 成 员:****x 目录 一、问题定义3 二、可行性研究3 1.系统建设目标3 2.可行性分析3 三、系统的需求分析4 1.图书管理系统的需求...
提供 Java运行性能,降低小而大量重复的类的开销. C. 行为模式 设计模式之 Command(命令) 什么是将行为封装,Command 是最好的说明. 设计模式之 Observer(观察者) 介绍如何使用 Java API 提供的现成 Observer ...
� 暂不具备 Push Mail 和 Office(DataViz 、 QuickOffice 计划近期推出 ) 功能,目前主要面向的是普通消费 者 用户,对商业用户支持尚弱。 Android Android Android Android 带来的影响 ANDROID 的推出后可能影响的...
它的属性比较简单,只有 id 和 queryName 两个,而且比较容易理解。 4.4. clickable 该标签的作用是给一个 dimension 或一个 level 里的所有的 members 加上超链,使得它们变的可以进行点击操作。生成的 URL 中...
3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型 .28 4.2 引 用 类 型 .33 4.3 装箱和拆箱 .39 4.4 ...
软件编程规范培训实例与练习 软件编程规范培训实例与练习 问题分类 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能...
7. 3 Panorama for Java和Java Analyzer的安装和设置 7. 3. 1 要求 7. 3. 2 如何安装 7. 3. 3 设置 7. 4 Panorama VB的安装和设置 7. 4. 1 系统要求 7. 4. 2 安装 7. 4. 3 启动Panorama VB及选定目标源程序 7...
3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 3.8 简单网络管理协议(SNMP) 27 3.9 TCP/IP和系统结合 27 3.10 内部网概述 28 3.11 小结 28 第二部分 命名和寻址 第4章 IP...
3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 3.8 简单网络管理协议(SNMP) 27 3.9 TCP/IP和系统结合 27 3.10 内部网概述 28 3.11 小结 28 第二部分 命名和寻址 第4章 IP...