Java中常用的查找算法——顺序查找和二分查找 神话丿小王子的博客 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位. b) 图例说明: 原始数据:int[] a={4,6,2,8,1,9,0,3}; 要查找数字:8 代码演示: import java.util.Scanner; /* * 顺序查找 */ public class SequelSearch { public static void main(St…
今天回顾了简单算法,顺序查找.发现了数组出现重复数字,无法输出第二个位置就跳出循环了. 利用所学知识解决了.放上代码,同时在代码里给大家分享思路. 欢迎大神教导,欢迎指正. ; System.out.printf("你要查找的数在第%d位\n",pos+1); } } //如果pos没有发生变化,还是我们一起定义的值.说明没有找到,即查找的数不存在. if (pos == arr.length+2){ System.out.println("不存在的"); } }}…
相传在印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏.该游戏是在一块铜板装置上,有三根杆(编号A.B.C),在A杆自下而上.由大到小按顺序放置64个金盘(如下图).游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好.操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A.B.C任一杆上. 分析:对于这样一个问题,任何人都不可能直接写出移动盘子的每一步,但我们可以利用下面的方法来解决. 设移动盘子数为n,为了将这n个盘子从A杆…
[Java基础]循环结构3 break 与 continue 中断循环... /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:BreakTest.java 编写时间:2016/6/12 作 者:郑晨辉 编写说明:break 结束循环 break 是完全跳出循环~~也就是说,遇到break 循环终止~~ */ public class BreakTest{ public static void main(String[] args){ //写一个for循环 for (int…
[java基础]循环结构2 写了几个循环结构练习~记录一下~~ 1:99乘法表 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:GameForFor.java 编写时间:2016/6/7 作 者:郑晨辉 编写说明:for循环示例 代码示例 编写一个99乘法表 */ public class GameForFor { public static void main(String[] args) { //目标:输出99乘法表 for(int i = 1;i <= 9;i++){…
[java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.java 编写时间:2016/6/7 作 者:郑晨辉 编写说明:while do while 代码示例 */ public class WhileTest{ public static void main(String[] args){ //初始条件 int i = 0; //进入循环,while循环…
Java通过循环结构和switch实现简易计算器 可以循环计算,通过调用函数本身来实现重新计算 package com.shenxiaoyu.method; import java.util.Scanner; public class TestDemo { public static void main(String[] args) { TestDemo test= new TestDemo(); test.computer(); } //加 public double add(double n…
public class Search { public class BiTreeNode{ int m_nValue; BiTreeNode m_pLeft; BiTreeNode m_pRight; } //顺序查找,查到则返回该值下标,查不到返回-1. public int SequenceSearch(int[] a,int b){ if(a==null) return -1; for(int i=0;i<a.length;i++){ if(a[i]==b) return i; } re…
一.二分查找 (数组里查找某个元素) /** * 二分查找 (数组里查找某个元素) * $k为要查找的关键字(注:待查找的数组元素为奇数个)$low为查找范围的最小键值,$high为查找范围的最大键值 */ $low = min(array_keys($array)); $high = max(array_keys($array)); function dichotomy_search($array, $low, $high, $k) { if ($low <= $high) { $mid =…
文字描述 顺序查找的查找过程为:从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录:反之,若直至第一个记录,其关键字和给定值比较都不等,则表明表中没有所查记录,查找不成功. 示意图 略 算法分析 从顺序查找的过程看,Ci取决于所查记录在表中的位置.如:查找表中最后一个记录时,仅需比较一次,Ci为1:而查找表中第一个记录时,需比较n次,Ci为n.一般情况下Ci等于n-i+1. 假设每个记录的查找概率相等,且每次都能查找成功,则平…