返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP常见基础算法实例分析
  • 921
分享到

PHP常见基础算法实例分析

2023-06-30 16:06:34 921人浏览 八月长安
摘要

这篇文章主要介绍“PHP常见基础算法实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php常见基础算法实例分析”文章能帮助大家解决问题。TODO堆排序选择排序链表翻转动态规划<?phpc

这篇文章主要介绍“PHP常见基础算法实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php常见基础算法实例分析”文章能帮助大家解决问题。

PHP常见基础算法实例分析

TODO

<?phpclass AlGorithmic {        function fib($n) {        if ($n < 2) {            return 1;        } else {            return $this->fib($n - 1) + $this->fib($n - 2);        }    }        function fib2($n) {        if ($n < 2) {            return 1;        } else {            $arr = [1, 1];            for ($i = 2; $i <= $n; $i++) {                $arr[$i] = $arr[$i - 1] + $arr[$i - 2];            }        }        return $arr[$n];    }        function fib3($n) {        if ($n < 2) {            return 1;        } else {            $last = 1;  //等式第二项            $lastLast = 1;  //等式第一项            for ($i = 2; $i <= $n; $i++) {                $current = $last + $lastLast;                $lastLast = $last;                $last = $current;            }            return $current;        }    }        function scanFile($dir) {        $fileList = [];        if (is_dir($dir)) {            $dh = opendir($dir);            while ($file = readdir($dh)) {                if ($file == '.' || $file == '..') continue;  //linux下一切皆文件                $newDir = $dir . '/' . $file;                if (is_dir($newDir)) {                    $fileList[][$file] = $this->scanFile($newDir);                } else {                    $fileList[] = $file;                }            }            closedir($dh);        }        return $fileList;    }        function binarySort($arr, $target) {        if (!is_array($arr) || count($arr) < 2) {            return $arr;        }        $len = count($arr);        $start = 0;        $end = $len - 1;        while ($start <= $end) {            $middle = floor(($start + $end) / 2) ;            if ($arr[$middle] == $target) {                return $middle;            } elseif ($arr[$middle] < $target) {                $start = $middle + 1;            } else {                $end = $middle - 1;            }        }        return false;    }        function bubbleSort($arr) {        for ($i = count($arr) - 1; $i > 0; $i--) {            for ($j = 0; $j < $i; $j++) {                if ($arr[$j+1] < $arr[$j]) {                    $temp = $arr[$j];                    $arr[$j] = $arr[$j+1];                    $arr[$j+1] = $temp;                }            }        }        return $arr;    }        function quickSort($arr) {        if (!is_array($arr) || count($arr) < 2) {            return $arr;        }        $base = $arr[0];        $left = [];        $right = [];        for ($i = 1; $i <= count($arr) - 1; $i++) {            if ($arr[$i] < $base) {                $left[] = $arr[$i];            } else {                $right[] = $arr[$i];            }        }        return array_merge(array_merge($this->quickSort($left),[$base]), $this->quickSort($right));    }        function twoSum($arr, $sum = 8){        $tempArr = [];        foreach ($arr as $k => $v) {            if (isset($tempArr[$v])) {                return [$k, $tempArr[$v]];            }            $tempArr[$sum-$v] = $k;        }        return [];    }}$algorithmic = new Algorithmic();//var_dump($algorithmic->scanFile("./"));//var_dump($algorithmic->twoSum([4,5,3,4,5,67,787]));//var_dump($algorithmic->fib3(4));  // 1 1 2 3 5//var_dump($algorithmic->binarySort([1,3, 4, 5,7,9], 3));  //var_dump($algorithmic->quickSort([14,5,13,114,4,3,167,87,14]));

关于“PHP常见基础算法实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网PHP编程频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: PHP常见基础算法实例分析

本文链接: https://lsjlt.com/news/330498.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP常见基础算法实例分析
    这篇文章主要介绍“PHP常见基础算法实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP常见基础算法实例分析”文章能帮助大家解决问题。TODO堆排序选择排序链表翻转动态规划<phpcl...
    99+
    2023-06-30
  • PHP对象基础实例分析
    这篇文章主要介绍“PHP对象基础实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP对象基础实例分析”文章能帮助大家解决问题。面向对象基础面向过程和面向对象区别面向对象关键字类:class,...
    99+
    2023-06-29
  • Moment.js常见用法实例分析
    这篇文章主要介绍“Moment.js常见用法实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Moment.js常见用法实例分析”文章能帮助大家解决问题。Moment.js是一个轻量级的js时间...
    99+
    2023-06-30
  • python常见排序算法基础教程
    前言:前两天腾讯笔试受到1万点暴击,感觉浪费我两天时间去牛客网做题……这篇博客介绍几种简单/常见的排序算法,算是整理下。 时间复杂度 (1)时间频度一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机...
    99+
    2022-06-04
    算法 基础教程 常见
  • HTML基础实例分析
    这篇“HTML基础实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HTML基础实例分...
    99+
    2024-04-02
  • JavaScript基础之语法实例分析
    这篇文章主要介绍“JavaScript基础之语法实例分析”,在日常操作中,相信很多人在JavaScript基础之语法实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2024-04-02
  • Python常见的基础算法题有哪些
    这篇文章主要介绍“Python常见的基础算法题有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python常见的基础算法题有哪些”文章能帮助大家解决问题。1.求100(含100)以内所有偶数的和...
    99+
    2023-06-27
  • jquer基础事件方法实例分析
    这篇文章主要介绍“jquer基础事件方法实例分析”,在日常操作中,相信很多人在jquer基础事件方法实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquer基础事件方...
    99+
    2024-04-02
  • JavaScript基础使用方法实例分析
    这篇文章主要介绍“JavaScript基础使用方法实例分析”,在日常操作中,相信很多人在JavaScript基础使用方法实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • 常见css hack实例分析
    这篇“常见css hack实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“常见css...
    99+
    2024-04-02
  • PHP常见算法
    排序 冒泡排序 依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。 $arr = [8,1,10,9,5,7];function bubbleSort($arr){ // 外层 f...
    99+
    2023-10-20
    php 算法
  • JS中常见排序Sort算法的示例分析
    小编给大家分享一下JS中常见排序Sort算法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!排序算法(Sort)引言我们...
    99+
    2024-04-02
  • JQuery基础运用实例分析
    这篇文章主要介绍“JQuery基础运用实例分析”,在日常操作中,相信很多人在JQuery基础运用实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JQuery基础运用实例...
    99+
    2024-04-02
  • HTML基础结构实例分析
    本篇内容主要讲解“HTML基础结构实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML基础结构实例分析”吧! HTML标签通常是成对出现的(双边标记...
    99+
    2024-04-02
  • JUnit5基础入门实例分析
    这篇“JUnit5基础入门实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JUnit5基础入门实例分析”文章吧。设计哲...
    99+
    2023-06-17
  • Python基础知识实例分析
    这篇文章主要介绍了Python基础知识实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python基础知识实例分析文章都会有所收获,下面我们一起来看看吧。在Python 语言中,对象是通过引用传递的。多元...
    99+
    2023-06-17
  • Java基础泛型实例分析
    这篇“Java基础泛型实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java基础泛型实例分析”文章吧。一、泛型概述:...
    99+
    2023-06-29
  • TypeScript基础使用实例分析
    这篇文章主要讲解了“TypeScript基础使用实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“TypeScript基础使用实例分析”吧!什么是 TypeScript?TypeScri...
    99+
    2023-07-02
  • PHP算法题实例代码分析
    本篇内容主要讲解“PHP算法题实例代码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP算法题实例代码分析”吧!题目给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 ...
    99+
    2023-07-05
  • Redis入门基础常用操作命令实例分析
    今天小编给大家分享一下Redis入门基础常用操作命令实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Redis基础Re...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作