首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 查找算法

顺序查找 原理 顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位。...图例说明 原始数据:int[] a={4,6,2,8,1,9,0,3}; 要查找数字:8 ?...原理 算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小 于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。...通过一次比较,将查找区间缩小一半。 折半查找是一种高效的查找方法。它可以明显减少比较次数,提高查找效率。但是,折半查找的先决条件是查找表中的数据元素必须有序。...二分算法步骤描述 ① 首先确定整个查找区间的中间位置 mid = ( left + right )/ 2 ② 用待查关键字值与中间位置的关键字值进行比较; 若相等,则查找成功 若大于,则在右半个区域继续进行折半查找

1.1K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java 数组、排序和查找

    # Java 数组、排序和查找 # 为什么需要数组 一个养鸡场有 6 只鸡,它们的体重分别是 3kg,5kg,1kg,3.4kg,2kg,50kg 。请问这六只鸡的总体重是多少?平 均体重是多少?...提示:char 类型数据运算 'A'+2 -> 'C' ArrayExercise01.java public class ArrayExercise01 { private static int.../ for(int j=0;j<arr.length;j++) { // System.out.print(arr[j]+"\t"); // } // } } # 查找...# 案例演示 有一个数列:白眉鹰王、金毛狮王、紫衫龙王、青翼蝠王猜数游戏:从键盘中任意输入一个名称,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提示找到,并给出下标值。...static void main(String[] args) { /* 有一个数列:白眉鹰王、金毛狮王、紫衫龙王、青翼蝠王猜数游戏: 从键盘中任意输入一个名称,判断数列中是否包含此名称【顺序查找

    1.9K40

    java二分查找查找数组指定元素(Java字符串排序)

    网上找到的图片便于理解 二分查找递归实现与循环实现代码: /** * 二分查找 * 1.二分查找又称折半查找,它是一种效率较高的查找方法。...* 2.二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列 * 3.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后 * 将要查找的值和数组的中值进行比较...)); } //循环实现二分查找算法arr 已排好序的数组x 需要查找的数-1 无法查到数据 public static int binarySearch(int[] srcArray...return binSearch(srcArray, start, mid - 1, key); } return -1; } } 其他算法: Java...二分查找Java冒泡排序 Java选择排序 Java插入排序 Java希尔排序 Java计数排序 Java快排算法 Java归并排序 Java堆排序 动图演示 发布者:全栈程序员栈长

    73820

    Java 版学生成绩管理系统,附源码

    录入学生成绩 该功能是每次录入学生的成绩信息,或者在当前数据的基础上添加录入新的学生成绩信息; 统计学生成绩 主要是对学生的成绩进行统计,然后输出平均分,并打印出对应信息; 查找学生成绩 根据输入的学号查找对应学生的相关成绩信息...; 修改学生成绩 根据输入的学号来对对应学生的成绩进行修改; 删除学生成绩 根据输入的学生学号,删除对应学生的成绩信息; 按平均分排序 按照平均分降序排序; 显示所有成绩 便利所有学生成绩,然后打印出来...然后通过对输入的学号进行匹配,找到对应学号的学生成绩信息并打印; /** * @param students 学生对象集合 * @return * @description 查找对应学号学生的成绩信息...() == 0) { System.out.println("当前无数据,请添加后重试"); } else { System.out.println("请输入要查找学生的学号...scanner.nextLong(); int flag = -1; Student student = new Student(); // 查找对应学号

    83720

    Java 版学生成绩管理系统,附源码!

    image-20210405133413661 查找学生成绩 根据输入的学号查找对应学生的相关成绩信息; ? 修改学生成绩 根据输入的学号来对对应学生的成绩进行修改; ?...删除学生成绩 根据输入的学生学号,删除对应学生的成绩信息; ? 按平均分排序 按照平均分降序排序; ?...然后通过对输入的学号进行匹配,找到对应学号的学生成绩信息并打印; /** * @param students 学生对象集合 * @return * @description 查找对应学号学生的成绩信息...() == 0) { System.out.println("当前无数据,请添加后重试"); } else { System.out.println("请输入要查找学生的学号...scanner.nextLong(); int flag = -1; Student student = new Student(); // 查找对应学号

    1.3K20

    java算法|二分查找

    0x01,二分查找概念 二分查找又称为折半查找,它是一种效率较高的查找方法,但是,折半查找要求线程表必须采用顺序存储结构,且表中的元素是有序的。...0x02,先进行数据元素的排序 折半查找的前提是有序,无论升序还是降序 0x03,折半查找的过程 首先,假设表中元素是按升序排列,将表中中间位置记录的关键字num[mid]与待查找的关键字进行比较,若相等...,则查找成功,返回即可。...否则继续判断,若num[mid]大于查找的元素值,则下标end=mid-1,若num[mid]<查找的值,则更新起始下标start=mid+1,重复以上过程,直到跳出循环条件,若可以找到则返回下标索引值...0x04,折半查找示例程序 ? 0x05,重点我们看下jdk提供的二分查找的实现方法 ? 0x06,首先判断查找的数据,数组下标是否合法,不合法如何做,合法了然后进行算法的实现。 ?

    41230

    Java 数组、排序和查找(3)

    目录 前言 一、数组查找 (1)查找分类 (2)顺序查找 二、二维数组 (1)快速入门  分析: (2)动态初始化 1)使用方法1 2)使用方法2 3)使用方法3 (3)静态初始化 (4)使用细节 三...数组、排序和查找复习完成。...一、数组查找 (1)查找分类         在java中,常用的查找有两种: 1)顺序查找 2)二分查找 (2)顺序查找 案例: 有一个数列:{"java" , "python" , "golang...接收用户输入,遍历数组,逐一比较,如果有,则提示信息,并退出 直接上代码: import java.util.Scanner; public class SeqSearch { public static...void main(String[] args) { //定义一个字符串数组 String[] names = {"java" , "python" , "golang"}; Scanner

    51510
    领券