java实现的递归方法逆序对查找
下面是使用java实现的递归逆序对查找,所谓的逆序对就是在数组A[]中如果 i < j ,并且A[i] > A[j], 则我们说A[i]和A[j]是一对逆序对。如果用普通的算法实现的话,查找的时间复杂度,是O(N*N),使用这里的队规的方式查找的话,时间复杂度是O(N*lgN)
import java.util.Date;
import java.util.Random;
/*
* 使用递归实现的统计数组中的逆序对数量。
*/
public class InversionSearch {
public static void main(String args[])
{
int len = 5;
Date date = new Date();
Random random = new Random(date.getSeconds());
int data[]=new int[len];
for(int i = 0; i < len; i++)
{
data[i]=(int)(random.nextFloat()*100+1);
}
show(data);
int count= inversionSearch(data,1,data.length);
System.out.println("共有逆序对:"+count);
}
private static void show(int[] data)
{
System.out.println("========================");
for(int i = 0; i < data.length; i++)
{
System.out.print(data[i] + " ");
}
System.out.println();
System.out.println("========================");
}
public static int inversionSearch(int[] data,int start,int end)
{
int count=0;
if(end>start){
int pos = (start+end)/2;
int temp1 = inversionSearch(data,start,pos);
int temp2 = inversionSearch(data,pos+1,end);
count = mergeSearch( data,start,pos,end)+temp1+temp2;
}
return count;
}
public static int mergeSearch(int[] data,int start,int pos,int end)
{
int count=0;
for(int i=pos; i<end; i++)
{
for(int j=start-1; j<pos; j++)
{
if(data[i]<data[j])
{
count++;
}
}
}
return count;
}
}
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
今天做Flex时碰到flex和java交互的乱码问题,使用HTTPService无论是从Flex端传到Java端,还是反过来都乱码。调查了半天,终于搞定了。
以下是解决方案:
1.Flex端传到Java端
Flex端:encodeURIComponent(comment.text)
使用encodeURIComponent把参数转换为 application/x-www ......
package thread;
class ThreadTest4 implements Runnable{
private boolean flag=true;
public void stopMe(){
flag=false;
}
public void run() {
while (flag){
System.out.println(Thread.currentThread().getName()+" is running ");
&nbs ......
1、不可以用一个本地类型(如int float)来替换泛型
2、运行时类型检查,不同类型的泛型类是等价的(Pair<String>与Pair<Employee>是属于同一个类型Pair),
这一点要特别注意,即如果a instanceof Pair<String>==true的话,并不代表a.getFirst()的返回值是一个S ......
一下是java实现的有一个归并排序,自己发现自己的基础功太差了,所以最近开始学习算法,好好的联系每一算法,各位大神不要见笑,写的有错的地方希望能够指出来谢谢哈:
package sort;
import java.util.Date;
import java.util.Random;
/*
* 归并排序
*/
public class MergeSort {
public static void main(Stri ......