数据结构的特性
最大子序列
public class maxsubnum {
/**
* @param args最大子序列
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[]={-1,4,5,1,-3,2};
System.out.println(maxsubnumber(arr)+"");
}
public static int maxsubnumber(int arr[]){
int maxsum=0;int thisum=0;
for(int j=0;j<arr.length;j++){
thisum+=arr[j];
if(thisum>maxsum){
maxsum= thisum;
}
else if(thisum<0){
thisum=0;
}
}
return maxsum;
}
}
折半查找算法
public class halfselect {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[]={1,2,3,4,5,6,7,8};
System.out.println(halfsel(arr,4)+"");
}
public static int halfsel(int arr[],int num){
int low=0,high=arr.length-1;
while(low<=high){
int middle=(low+high)/2;
if(arr[middle]<num)
low=middle+1;
else if(arr[middle]>num)
high=middle-1;
else return middle;
}
return 0;
}
}
折半查找的是时间复杂度为O(logN) 循环次数最多为(logN-1)+2