ihsandevs/php-binary-search
最新稳定版本:v1.0.0
Composer 安装命令:
composer require ihsandevs/php-binary-search
包简介
A PHP implementation of the Binary Search algorithm
README 文档
README
About
Binary Search is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the middle element of the array. If they are not equal, the half in which the target cannot lie is eliminated and the search continues on the remaining half, again taking the middle element to compare to the target value, and repeating this until the target value is found. If the search ends with the remaining half being empty, the target is not in the array.
Installation
composer require ihsandevs/php-binary-search
Usage
- Search with default comparison function
<?php require_once __DIR__ . '/vendor/autoload.php'; use IhsanDevs\PhpBinarySearch\BinarySearch; // Create an instance of BinarySearch $binarySearch = new BinarySearch(); // Set the data and target $binarySearch->data = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]; $binarySearch->target = 60; // Perform the search with the default comparison function $binarySearch->search(); // Print the result $binarySearch->printResult(); // Output: Target 60 found at index 5 with 0 iteration(s) in 0 second(s) with memory usage 0 byte(s).
- Search with custom comparison function
<?php require_once __DIR__ . '/vendor/autoload.php'; use IhsanDevs\PhpBinarySearch\BinarySearch; $binarySearch = new BinarySearch(); // Create an instance of BinarySearch $binarySearch = new BinarySearch(); // Set the data and target $binarySearch->data = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]; $binarySearch->target = 60; // Define a custom comparison function $customCompareFn = function ($data, $target) { if ($data == $target) { return 0; } return ($data > $target) ? 1 : -1; }; // Perform the search with the custom comparison function $binarySearch->search($customCompareFn); // Print the result $binarySearch->printResult(); // Output: Target 60 found at index 5 with 0 iteration(s) in 0 second(s) with memory usage 0 byte(s).
if you want see the result with log you can use printLog() method.
<?php ... // Print the result with log $binarySearch->printResult()->printLog();
Also you can use printDebug() method to print the result with debug.
<?php ... // Print the result with debug $binarySearch->printResult()->printDebug();
Testing
composer test
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-03-15