Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个算法叫做线性搜索吗?_Java_Algorithm_Search_Linear Search - Fatal编程技术网

Java 这个算法叫做线性搜索吗?

Java 这个算法叫做线性搜索吗?,java,algorithm,search,linear-search,Java,Algorithm,Search,Linear Search,比如说,我试图找到数组中最大的元素,我编写了如下代码 public class LargestElement { public static void main(String[] args) { int[] a = {1,2,6,4,5,4,3,1}; int max = a[0]; for(int i = 1;i<a.length;i++) { if(a[i] > max)

比如说,我试图找到数组中最大的元素,我编写了如下代码

public class LargestElement
{
    public static void main(String[] args)
    {
        int[] a = {1,2,6,4,5,4,3,1};

        int max = a[0];
        for(int i = 1;i<a.length;i++)
        {
            if(a[i] > max)
                max = a[i];
        }

        System.out.println(max);
    }
}
公共类最大元素
{
公共静态void main(字符串[]args)
{
int[]a={1,2,6,4,5,4,3,1};
int max=a[0];
对于(int i=1;i max)
max=a[i];
}
系统输出打印项次(最大值);
}
}

这称为线性搜索吗?

由于该算法在集合中查找最高值,因此称为线性算法,而不是线性搜索算法。这与查找特定值的搜索算法不同。

不,这不是线性搜索,因为您不是在查找此数组中的元素,而是在查找此数组中的最大值。它总是检查数组的所有元素,而线性搜索算法在找到特定值(您正在搜索的值)时终止。然而,该算法的复杂度确实是线性的(关于复杂度的更多细节)

引用问题中也包含的“线性搜索”标签的描述:

线性搜索或顺序搜索是一种查找列表中某个特定值的方法,该方法包括检查列表中的每一个元素,每次按顺序检查一个元素,直到找到所需的元素为止。线性搜索是最简单的搜索算法。它的最坏情况成本与列表中的元素数量成正比


上面的答案很好,只是一个补充,如果你想知道什么是线性搜索,那么它看起来是这样的

import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Scanner;
class LargestElement
{
    public static void main(String[] args)
    {
        Scanner s = new Scanner(System.in);

        int ele= s.nextInt();
        int[] a = {1,2,6,4,5,4,3,1};

        for(int i = 0;i<a.length;i++)
        {
            if(a[i] ==ele)
                {
                        System.out.println("Element Found at : "+ (i+1)+" Position");
                }
        }

    }
}
import java.util.*;
导入java.lang.*;
导入java.io.*;
导入java.util.Scanner;
类最大元素
{
公共静态void main(字符串[]args)
{
扫描仪s=新的扫描仪(System.in);
int ele=s.nextInt();
int[]a={1,2,6,4,5,4,3,1};

for(int i=0;iNope..您没有搜索任何特定的内容。此算法可以称为-最大数搜索是的。循环将运行固定的时间。@MuratK。不是每个在固定时间内运行的算法都称为“线性搜索”。