Java实现最大二叉堆中找min<=x<max的x们
2013-02-14 19:52
666 查看
写在前面:
定义见上一篇文章
代码:
Java代码
/**
* @description 最大二叉树中找a<=x<b的x
* @param min
* @param max
* @param array
* @return
*
* @author LynnWong
*/
private int[] getX(int min,int max,int[] array){
int rootSite = 0;
int n = 0;
int [] XArray = new int[array.length];
while(rootSite<array.length-1){
int root = array[rootSite];
if(root>min||root==min){
if((rootSite*2+1<array.length-1)&&(min==array[rootSite*2+1]||min<array[rootSite*2+1])&&array[rootSite*2+1] <max){
XArray[n++]=array[rootSite*2+1];
}
if((rootSite*2+1<array.length-1)&&(min==array[rootSite*2+2]||min<array[rootSite*2+2])&&array[rootSite*2+2] <max){
XArray[n++]=array[rootSite*2+2];
}
}else
break;
rootSite++;
}
return XArray;
}
定义见上一篇文章
代码:
Java代码
/**
* @description 最大二叉树中找a<=x<b的x
* @param min
* @param max
* @param array
* @return
*
* @author LynnWong
*/
private int[] getX(int min,int max,int[] array){
int rootSite = 0;
int n = 0;
int [] XArray = new int[array.length];
while(rootSite<array.length-1){
int root = array[rootSite];
if(root>min||root==min){
if((rootSite*2+1<array.length-1)&&(min==array[rootSite*2+1]||min<array[rootSite*2+1])&&array[rootSite*2+1] <max){
XArray[n++]=array[rootSite*2+1];
}
if((rootSite*2+1<array.length-1)&&(min==array[rootSite*2+2]||min<array[rootSite*2+2])&&array[rootSite*2+2] <max){
XArray[n++]=array[rootSite*2+2];
}
}else
break;
rootSite++;
}
return XArray;
}
相关文章推荐
- Java实现用最大堆和最小堆查找中位数 Find median with min heap and max heap in Java
- Google 面试题:Java实现用最大堆和最小堆查找中位数 Find median with min heap and max heap in Java
- IE6实现最小高度min-height和最大高度max-height
- 数字问题之最大公约数问题全解法归纳<Java实现>
- 数组问题之一维最大字段和问题<Java实现>
- 最大流/最小割(maxflow/mincut)的原理讲解和代码实现
- 优先队列的Java实现(最大二叉堆)
- matlab实现图割算法中的最大流最小割Max-flow/min-cut问题(一)
- 最大二叉堆的Java实现
- matlab实现图割算法中的最大流最小割Max-flow/min-cut问题(一)
- 最大流/最小割(maxflow/mincut)的原理讲解和代码实现
- java快速寻找一个数组的最大值或最小值, min, max,三种方法
- java实现字符串匹配求两个字符串的最大公共子串
- 打印1到最大的n位数(Java实现)
- 算法学习之路:分治策略-最大子数组-java实现
- java实现字符串匹配问题之求两个字符串的最大公共子串
- Java实现从IP和端口列表List<String>获取分离的IP和端口值
- java实现最大字段和的动态规划解法
- Java实现最大公约数的算法代码
- 学习总结--Css中最小宽度min-width和最大宽度max-width属性的使用方法