首頁 > Java > java教程 > 主體

Java 中的線性搜尋

WBOY
發布: 2024-08-30 15:14:24
原創
465 人瀏覽過

Java中的線性搜尋是最簡單的搜尋演算法之一,它有助於按順序搜尋清單中的元素。但是,線性搜尋很少使用,因為其他演算法(例如二分搜尋演算法)與線性搜尋相比,哈希表允許更快的搜尋。對每個項目執行順序搜索,即檢查每個項目,如果找到匹配項,則返回該項目;否則,搜索將繼續,直到資料收集結束。 Java中有一些方法可以實作線性搜尋操作。讓我們透過幾個例子來深入研究這個線性搜尋以及它是如何在 Java 中逐步實現的。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

文法

由於搜尋演算法沒有可用的語法,因此將會有一種演算法可以幫助我們在任何程式語言中實現線性搜尋演算法。

演算法:

第1步:首先,我們需要取得陣列的長度

第2步:取得要搜尋的元素並將其儲存在變數中

第 3 步: 現在,將陣列的每個元素與可搜尋值進行比較

第 4 步: 如果有的話,有匹配項。然後,找到可搜尋的元素

第 5 步: 如果沒有,即沒有找到匹配項。然後,找不到可搜尋元素,如果給定

,則返回-1

如何執行線性搜尋演算法?

我們將按照上述演算法步驟透過範例手動實現線性搜尋演算法,然後進入程式設計範例。

範例:

設數組 A[4,8,2,3,6,9]

設可搜尋元素X=3;

4 8 2 3 6 9

這是要搜尋X=3的陣列;

以程式完成線性搜尋時,我們需要陣列的長度。

從第一個元素開始

4 8 2 3 6 9

所以這裡 X=3 = 4

與其他元素比較

4 8 2 3 6 9

所以這裡 X=3 = 8

我們,將會,前進到下一個元素,

4 8 2 3 6 9

所以這裡 X=3 = 2

會繼續前進,

4 8 2 3 6 9

所以這裡 X=3 = 3

將傳回元素的索引並傳回。此元素的索引為 3

如果直到陣列結尾都沒有找到元素,則傳回-1,即未找到。

範例#1

線性搜尋演算法

class LinearSearchAlgorithm {
static int LSA(int array[], int length, int x)
{
for (int i = 0; i < length; i++) {
if (array[i] == x)
return i;
}
return -1;
}
public static void main(String[] args)
{
int[] array = { 4, 8, 2, 3, 6, 9 };
int length = array.length;
int x = 3;
int index = LSA(array, length, x);
if (index == -1)
System.out.println("Element not found in the array");
else
System.out.println("Element is found at index " + index);
}
}
登入後複製

輸出:

Java 中的線性搜尋

範例#2

import java.util.Scanner;
class LSA
{
public static void main(String args[])
{
int length, k, i, array[];
Scanner input = new Scanner(System.in);
System.out.println("Enter length of the array:");
length = input.nextInt();
array = new int[length];
System.out.println("Enter " + length + " elements");
for (i = 0; i < length; i++)
{
array[i] = input.nextInt();
}
System.out.println("Enter the value to be searched:");
k = input.nextInt();
for (i = 0; i < length; i++)
{
if (array[i]== k)
{
System.out.println(k+" is found at index "+(i));
break;
}
}
if (i == length)
System.out.println(k + " is not found in the array");
}
}
登入後複製

輸出 1:

Java 中的線性搜尋

下面是 STDIN 命令提示字元中給出的輸入,

不。數組元素數:6

陣列元素:2, 4, 6, 8, 10, 1

可搜尋值:4

Java 中的線性搜尋

輸出 2:

Java 中的線性搜尋

不。陣列元素數:8

陣列元素:3, 5, 7, 9, 10, 34, 25, 21

可搜尋值:10

Java 中的線性搜尋

輸出 3:如果找不到元素

Java 中的線性搜尋

不。元素數量:5

陣列元素:2、4、5、6、10

可搜尋值:9

Java 中的線性搜尋

線性搜尋演算法的時間複雜度

由於線性搜尋演算法很少使用,其他搜尋演算法如雜湊表和二分搜尋可以實現快速搜尋。線性搜尋的時間複雜度如下:

如果在陣列中找到元素:O(n) 到 O(1)

如果在陣列中找不到元素:O(n) 到 O(n/2)

至此,我們的主題「Java 中的線性搜尋」就結束了。我們已經透過範例了解了線性搜尋演算法是什麼及其實現步驟。還以程式設計方式解決了範例並顯示了各種輸出,即元素何時可用以及元素何時不可用。還看到了基於可搜尋值(如果找到或未找到)的線性搜尋演算法的時間複雜度。謝謝!快樂學習! !

以上是Java 中的線性搜尋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!