一:问题引入
在学习Apriori算法的时候,其中有一个实现细节是
* 利用二分查找来判断A集合的子集是否存在于B集合中
* 借此机会,我们复习一下二分查找
二:问题实例化
把Apriori算法中的问题抽象出来就是判断数组A中的各个元素是否在
* 有序数组B中
* input : 数组A,有序数组B
* out : 依次输出数组A中每个元素是否在B中的结果
三:算法思路
* 1) 二分查找
* 2) 借助spmf上的posRemoved变量的方法
四.源代码
public class temp02 {
public static int M = 6;
public static int N = 10;
public static void main(String[] args) {
int A[] = new int[] {1,0,99,7,98,3}; //假设已知有6个元素
int B[] = new int[] {1,2,3,4,5,16,27,78,79,89}; // 假设已知有10个元素
int C[] = new int[] {0,0,0,0,0,0};
for(int posRemoved=0; posRemoved < M; posRemoved++)
{
// perform a binary search to check
int first = 0;
int last = N-1;
// variable flag
int flag = 0;
while(first <= last) {
int middle = (first + last) / 2