There are many search algorithms in php. Which ones do you know? How do you understand the meaning of search algorithms? This article will take you to explore some mysteries about algorithms. Let’s discuss what is a search algorithm in an array? How to find it?
Related recommendations: What is the facade pattern in PHP? What are his strengths? What are the applicable scenarios?
Search algorithm:
Search algorithm meaning:
Search is to find a specific information element in a large amount of information. In computer applications, search is a commonly used basic operation.
The search algorithm refers to the code structure corresponding to the search process. It is to quickly locate the desired elements in medium and large arrays. .
Sequential search algorithm:
Sequential search is also called research search. Starting from the - end of the data structure linear table, it scans sequentially and scans the nodes in sequence. The keyword is compared with the given value k. If they are equal, the search is successful; if the node with the keyword equal to k is not found at the end of the scan, the search fails.
Let’s take the code as an example:
<?php //查找算法 //顺序查找 $arr = array(1,3,6,8,23,68,100); //顺序查找:从数组第一个元素开始,挨个匹配 function check_order($arr , $num){ //全部匹配 for($i = 0,$len = count($arr);$i <$len;$i++){ //判断 if($arr[$i] == $num){ return $i; } } return false ; } var_dump(check_order($arr,5));
Binary search algorithm
Binary search requires linear table The nodes are listed in ascending or descending order according to the keyword value. The initial value k is used to compare with the keyword of the intermediate node. The intermediate node divides the linear table into two sub-tables. If they are equal, the search is successful; if they are not equal, then based on The comparison result between k and the key of the intermediate node determines which sub-table to search next, and so on recursively until the search is found or the search ends and it is found that there is no such node in the table.
Half algorithm idea:
1. Calculate the length of the array; .
2. Determine the pointer positions on the left and right sides; .
3. Find the middle position;
4. Match.
5. Then reset the boundaries according to the size.
<?php //查找算法 //顺序查找 $arr = array(1,3,6,8,23,68,100); //顺序查找:从数组第一个元素开始,挨个匹配 function check_order($arr , $num){ //全部匹配 for($i = 0,$len = count($arr);$i <$len;$i++){ //判断 if($arr[$i] == $num){ return $i; } } return false ; } //var_dump(check_order($arr,5)); //二分查找算法 //1、 得到数组边界 $right = count($arr); $left= 0; $res = 3; //2、循环匹配, while($left <=$right){ //3、得到中间位置 $middle = floor(($right + $left) / 2); //4、匹配数据. if($arr[$middle] == $res){ echo $middle; break; } //5、没有找到 if($arr[$middle] < $res){ //值在右边 $left = $middle + 1; }else{ //值在左边 $right = $middle - 1;
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What is the search algorithm in PHP array? How to find it?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

SublimeText3 Chinese version
Chinese version, very easy to use

Notepad++7.3.1
Easy-to-use and free code editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
