在此 PHP 程序中,我们将学习如何实现线性搜索算法来查找数组中是否存在某个元素。数组是一组存储在连续位置的元素。虽然有许多搜索方法,但线性搜索是最简单的技术。通过使用 for 循环 和 If 条件,我们可以演示这个简单的 PHP 程序。对于初学者,我们强烈建议回顾以下主题以便轻松编程。
线性搜索算法也称为顺序搜索算法,因为要搜索的元素将与数组中的元素进行顺序比较。这意味着从起始索引到最后一个索引逐一比较元素。它是用于在数组、列表或任何其他数据结构中搜索元素的基本方法。会有一个元素数组和一个要搜索的元素,看它是否属于给定的元素集。线性搜索将从头到尾遍历数组,如果找到匹配项,它将输出找到匹配项的数组元素的索引,否则输出“项未在集合中找到”。
与二分搜索不同,线性搜索广泛用于在无序列表(即未排序的元素列表)中搜索元素。虽然它适用于较小的列表(<100)。假设有一个包含 10,000 个元素的列表,并且搜索元素位于最后一个位置,那么顺序搜索将通过与列表中的每个元素进行比较来消耗大量时间。因此,线性搜索算法的最坏情况时间复杂度为 O(n)。
此处用一个简单的 for 循环 和 If 条件 程序进行了解释。
for 循环 遍历数组元素。for 循环 的每次迭代中,将要搜索的元素与当前数组元素进行比较,然后——echo 相应数组元素的索引并将搜索标志设置为 1,同时 break 循环。为了更好地理解,让我们看一个例子。
这里有一个数组 (7,2,9,6,1,3),我们需要搜索数字 6 是否存在于数组中。现在使用 for 循环 从起始索引到末尾遍历数组,并检查数组元素是否等于搜索元素 6。比较将从 7 开始,然后继续 2、9,然后是 6 本身。在这里,我们在数组的索引 4 处找到了匹配项。如果找到匹配项,则 echo 索引,否则 echo 消息“未找到元素”。
步骤 1:使用一些预定义的值初始化数组 arr。
步骤 2:定义变量 item 为搜索值,并将 flag 初始化为零搜索状态。
步骤 3:从零开始到一个数组大小的 for 循环,用于比较数组中的每个元素。
步骤 4:使用 if 条件 检查元素是否等于搜索元素,并且
步骤 5:如果条件为真,则 echo 当前数组索引并将标志更改为 1,表示我们在数组中找到了搜索元素,然后 break for 循环。
步骤 6:否则,for 循环 将继续下一次迭代,直到数组末尾。
步骤 7:检查标志值是否仍为 0,这表示未找到匹配项。
<?php
$arr = array(7,2,9,6,1,3); // given array
$item = 6; // value to be searched
$n = sizeof($a); //size of array
$flag=0; //search staus
// Going through array sequencially
for ($i = 0; $i < $n; $i++)
{
if ($arr[$i] == $item)
{
echo "<br>" , "Element is present at index " , $i+1 ;
$flag=1;
break;
}
}
if ($flag == 0)
echo "<br>" , "Element is not present in the array";
?>
Element is present at index 4