java算法:构建块
在java中用来存储和处理信息的主要的低级构造。使用java的类来描述要处理的信息,定义要处理它们的方法,并构建能实际存储这些数据的对象。我们所有的数据结构由对象和指向对象的指针构成。
我们书写的程序就是要处理我们所生活的世界和自然语言信息,在计算机中要为这些信息构建基本块--数字或字母提供内嵌支持。在java中,基本的数据类型构建起来有:boolean,char,byte,short,int,long,float,double。
定义:数据类型是值集合和对那些值进行的一套操作。
例一:每个java程序就是一种数据类型,值集合和相关操作(方法)的列表。
如:处理平面上的点时,可以这样定义:class Point{double x; double y;}
实例化对象:
Point a = new Point();
Point b = new Point();
并对a,b赋值:a.x = 1.0; a.y = 1.0; b.x = 4.0; b.y = 5.0;
即:a代表点(1.0,1.0) b代表点(4.0,5.0);
例二:方法定义
求ab的距离:
Java代码
doubledistance(Pointa,Pointb){
doubledx=a.x-b.x;
doubledy=a.y-b.y;
returnMath.sqrt(dx*dx+dy*dy);
}
double distance(Point a, Point b){
double dx = a.x - b.x;
double dy = a.y - b.y;
return Math.sqrt(dx * dx + dy * dy);
}
使用java的类机制来定义数据类型。
例三:Point类的实现:
Java代码
classPoint{
doublex,y;
Point(){
x=Math.random();
y=Math.random();
}
Point(doublex,doubley){
this.x=x;
this.y=y;
}
doubler(){
returnMath.sqrt(x*x+y*y);
}
doubletheta(){
returnMath.atan2(y,x);
}
doubledistance(Pointp){
doubledx=x-p.x;
doubledy=y-p.y;
returnMath.sqrt(dx*dx+dy*dy);
}
publicStringtoString(){
return"("+x+","+y+")";
}
}
class Point{
double x,y;
Point(){
x = Math.random();
y = Math.random();
}
Point(double x, double y){
this.x = x;
this.y = y;
}
double r(){
return Math.sqrt(x * x + y * y);
}
double theta(){
return Math.atan2(y , x);
}
double distance(Point p){
double dx = x - p.x;
double dy = y - p.y;
return Math.sqrt(dx * dx + dy * dy);
}
public String toString(){
return "(" + x + " , " + y + ")";
}
}
例四:随机数序列统计,计算一长串随机数的均值和标准方差。
Java代码
publicclassPrintStats{
publicstaticvoidmain(String[]args){
intN=Integer.parseInt(args[0]);
doublem=0.0,s=0.0;
for(inti=0;i<N;i++){
intx=(int)(Math.random()*10000);
doubled=(double)x;
m+=d/N;s+=(d*d)/N;
}
s=Math.sqrt(s-m*m);
System.out.println("avg.:"+m);
System.out.println("std.dev.:"+s);
}
}
分享到:
相关推荐
Java算法全卷涵盖了基本算法和图算法,是学习和提升编程技能的重要资源。这份资料主要针对使用Java语言进行算法实现的开发者,适用于那些对ANT、EJB、J2EE、JAVA和SPRING等技术栈有了解或兴趣的人群。下面我们将深入...
总之,了解和掌握这些加密解密算法对于Java开发者来说至关重要,它们不仅用于保护敏感数据,也是构建安全网络应用的基础。在实际开发中,应根据需求选择合适的算法,并注意遵循最佳实践,确保系统的安全性和可靠性。
Java算法是计算机科学中的核心部分,它涉及到一系列用于解决计算问题和数据操作的方法和技术。在Java编程语言中,算法的实现使得程序能够高效地处理数据、执行任务并优化性能。以下是一些重要的Java算法及其应用: ...
Java算法大全涵盖了编程中最核心、最实用的算法,这些算法是每位Java开发者应当掌握的基础技能。这个压缩包包含了近100种不同的算法实现,旨在帮助开发者提升编程能力,理解和解决实际问题。以下是对其中一些关键...
Java算法大全是一个包含约100种常见算法的资源库,专为Java程序员设计,用于深入理解和实践编程中的各种算法。这些算法涵盖了数据结构、排序、搜索、图论等多个领域,是提升编程技能和解决问题能力的重要工具。下面...
Java算法大全源码包是一个非常宝贵的资源,包含了各种经典的算法实现,总计超过100种。这个源码包是学习和提升Java编程能力,特别是算法理解与应用的绝佳材料。以下将详细介绍其中可能涵盖的一些重要算法及其应用: ...
Java算法大全是一个全面涵盖近100种算法的资源包,专为Java程序员设计,旨在提升他们的编程技能和解决问题的能力。这个压缩包包含了各种类型的算法实现,覆盖了基础到高级的算法知识,对于学习和理解算法有着极大的...
《Java算法书籍(英文版)》是一套专为Java开发者设计的算法学习资源,涵盖了数据结构与算法分析以及全面的Java算法知识。这套书籍旨在帮助读者深入理解算法的基础概念,提高编程技能,以及解决实际问题的能力。以下...
5. **算法应用**:在Java中,可以使用动态规划、贪心算法、回溯法等优化拼音切分。例如,动态规划可以用于找到最长公共前后缀,减少误切;贪心算法可以每次选择最可能的词,以达到局部最优;而回溯法则适用于在多种...
因此,RSA算法可以构建一对公钥和私钥,公钥用于加密,私钥用于解密。发送者使用接收者的公钥加密数据,只有持有对应私钥的接收者才能解密,确保了信息的安全性。 C++实现RSA算法通常涉及以下步骤: 1. 寻找大素数...
比如霍夫曼编码、Prim算法构建最小生成树等。 6. **图论算法**:如最短路径算法(Dijkstra、Floyd-Warshall)、拓扑排序、最小生成树算法(Kruskal、Prim)等,这些算法在路由、网络优化等领域有着广泛的应用。 7....
《JAVA算法100例》是一份集合了JAVA编程语言中的各类算法实例的资源,旨在帮助开发者提升在解决计算问题时的技能。这份资源可能是由博主StevenJohn在ITEYE博客上分享的,虽然描述中没有具体信息,但我们可以通过标题...
Java算法是计算机科学中的核心组成部分,它涉及到一系列用于解决计算问题的方法和技术。在Java编程中,熟练掌握不同类型的算法能够帮助我们更有效地处理数据、优化程序性能和解决复杂问题。以下将详细介绍标题和描述...
Java经典算法是编程领域中的重要组成部分,对于提升编程能力、解决复杂问题以及优化代码效率具有至关重要的作用。这些算法不仅适用于Java语言,许多原理在其他编程语言中也通用。本资源包包含了一系列PPT,旨在帮助...
- 通过每一步选择局部最优解来达到全局最优,如霍夫曼编码、Prim算法构建最小生成树。 9. **回溯法**: - 在搜索过程中遇到无法满足条件的情况时退回一步,尝试其他分支,常用于求解组合优化问题。 这些Java算法...
Java算法是计算机科学中的核心部分,它涉及到一系列用于解决复杂问题的方法和技术。在Java编程语言中,算法的实现使得程序能够高效地处理数据、优化内存使用以及提高计算速度。本主题将深入探讨Java中常见的算法及其...
AdaBoost算法Java实现提供了高效的分类解决方案。该资源包含完整的Java源代码、教程文档、示例数据和测试脚本,旨在帮助用户快速理解和应用AdaBoost算法。适用于对机器学习感兴趣的开发者、数据科学家以及需要提升...
Java算法设计资料主要涵盖的是如何使用Java语言进行有效的算法实现和设计。算法是计算机科学的基础,对于解决复杂问题和优化程序性能至关重要。本资料重点可能是《算法》这本书的第四版,这是一本广泛认可的算法教材...
这个名为“Java经典算法源码实例”的资源集合提供了一系列用Java语言实现的常见算法,对于深入理解算法原理、提高编程技能以及优化代码性能具有极大的帮助。下面,我们将详细探讨这些算法及其应用。 1. **排序算法*...
本文将深入探讨“JAVA算法分析”,旨在帮助读者从深层次理解Java语言,并结合算法思想提升编程能力。 首先,Java语言为实现高效算法提供了良好的支持。其面向对象的特性使得代码更易于组织和复用,接口、抽象类和...