package tree.binarytree; /** * Created by Lanxiaowei * Craated on 2016/12/12 13:51 * 判断给定的一个数字x是否在指定的一个有序的数字序列中存在 * 采用递归方式实现 */ public class Test3 { public static void main(String[] args) { int x = 16; int[] array = {1,2,3,4,5,6,7,8,9,10}; boolean exists = search(x,0,array.length - 1,array); System.out.println(exists); } public static boolean search(int x,int from, int to,int[] array) { if(null == array || array.length == 0) { return false; } if(from > to) { return false; } int mid = (from + to) / 2; //如果刚好中间那个元素就是数字x if(array[mid] == x) { return true; } if(array[mid] > x) { return search(x,from,mid - 1,array); } return search(x,mid + 1,to,array); } }
相关推荐
一个给定序列的子序列是在该序列中删去若干元素后得到的序列。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。例如,若X={A,B,C,B,D,B,A},Y={B,D,C,A,B,A},...
编写递归算法,计算二叉树中叶子结点的数目
要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数;
对于给定的正整数n,格雷码为满足如下条件的一个编码序列: (1) 序列由2n个编码组成,每个编码都是长度为n的二进制位串。 (2) 序列中无相同的编码。 (3) 序列中位置相邻的两个编码恰有一位不同。 例如:n=2时的格雷...
7.5 在旋转排序数组中查找指定数字 8. 暴力枚举法 8.1 求集合的子集 8.2 集合的全排列 8.3 在指定树中选择进行全排列 8.4 电话上对应数字的字母组成的所有单词 9. 广度优先搜索 9.1 单词变换路径(Word Ladder) ...
定义二叉树类,封装构造二叉树操作、遍历操作. 实现由先序、中序序列构造二叉树的算法 实现由后序、中序序列构造二叉树的算法
构造二叉树根据前序与中序遍历序列构造...前序序列第一个值一定是根节点的值; 根据得到的根节点,在中序序列中可以得到二叉树根的索引 index,index的左边的值的个数即二叉树左子树节点的个数,左闭右开区间为(0,
WHILE循环语句的翻译程序设计(递归下降法、输出三地址表示 对循环语句: WHILE〈表达式〉DO〈赋值语句〉 (1) 按给定的题目写出符合自身语法分析方法要求的文法和属性文法描述。 (2) 按给定的题目给出语法分析...
【输入形式】在屏幕上输入一个序列元素,包含负整数、0和正整数。 【输出形式】序列的最大子段和,及得到最大子段和时的起始和终止编号。 【样例1输入】 -2 11 -4 13 -5 -2 【样例1输出】 20 2 4 【样例说明...
给定一个非空的集合,用递归算法输出它的所有子集。 数据输入: 由文件input.txt 提供输入数据。文件第1行是集合中的元素个数,第2行是集合的元素序列(元素之间用空格分隔)。 结果输出: 将计算出的所有子集分行...
编写一个在此种族谱表示方式下的算法,判断给定的二个家族成员是否是五代内的近亲。(提示:家族成员的表示方式应与搜索方式相适应。) 33、 完全二叉树定义为:深度为K,具有N个结点的二叉树的每个结点都与深度为K...
求X和Y的最长公共子序列长度以及最长公共子序列 2 对于给定的字符串A和字符串B,编程计算其编辑距离d(A,B)。 随机产生20以上的字符,放入输入文件input.txt,如:X={A,B,C,B,D,A,B}和Y={B,D,C,A,B,A}。 程序运行结束...
若给定其先序和中序遍历序列,并假定其其先序和中序遍历序列分别存放于数组中,试设计构造该二叉树链式存储结构的递归算法。
通过设计、编制、调试一个条件语句的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。 2.设计内容及步骤 对条件语句: IF 〈布尔表达式〉 THEN 〈赋值语句〉 ...
如何利用二分查找算法在一个有序表中插入一个元素x,并保持表的有序性? 实验7:至少三种排序算法的程序实现 (第十六周星期三7、8节) 一、 实验目的 1.掌握简单插入排序、冒泡排序、快速排序、堆排序以及归并...
50006 使用函数统计一个整数中数字的个数 45 50007 使用函数找水仙花数 46 50009 使用函数求余弦函数的近似值 48 50052 使用函数找最大值 49 50062 使用函数输出指定范围内的 Fibonacci 数 50 50063 使用函数找出...
判断该二叉树是否为平衡的,输出判断结果;输出该二叉树的中序遍历关键字访问次序。 3. 从空树起连续插入以下20个关键字构建m=4的B-树。 50, 15, 09, 18, 03, 85, 33, 72, 48, 22, 91, 88, 11, 99, 06, 56, 68, 77,...
二路归并算法 排序 归并排序
确切地说,若给定序列X=, x2,…, xm>,则另一序列Z=, z2,…, zk>是X的子序列是指存在一个严格递增的下标序列 , i2,…, ik>,使得对于所有j=1,2,…,k有 最长公共子序列问题LCS 最长公共子序列(LCS)问题:给定两个...
题目描述 给定含有n 个元素的多重集合S,每个...接下来的n 行中,每行有一个自然数。 输出 程序运行结束时,将计算结果输出。 输出有2 行,第1 行给出众数,第2 行是重数。 样例输入 6 1 2 2 2 3 5 样例输出 2 3