当前主流的网站开发语言,账号权重查询,广东省企业诚信建设促进会网站,免费网站入口2022伊园#x1f36c; 博主介绍#x1f468;#x1f393; 博主介绍#xff1a;大家好#xff0c;我是 hacker-routing #xff0c;很高兴认识大家~
✨主攻领域#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
#x1f389;点赞➕评论➕收… 博主介绍 博主介绍大家好我是 hacker-routing 很高兴认识大家~
✨主攻领域【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
点赞➕评论➕收藏 养成习惯一键三连
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限欢迎各位大佬指点相互学习进步 目录
数组的相关函数
编程思想
递推算法
递归算法 数组的相关函数
1排序函数对数组元素进行排序都是按照ASCII码进行比较可以进行英文比较
sort()顺序排序下标重排
rsort()逆序排序 asort()顺序排序下标保留
arsort()逆序排序 ksort()顺序排序按照键名下标
krsort()逆序排序 shuffle()随机打乱数组元素数组下标会重排 2指针函数
reset()重置指针将数组指针回到首位
end()重置指针将数组指针指导最后一个元素 next()指针下移取得下一个元素的值
prev()指针上移取得上一个元素的值 注意事项next和prev会移动指针有可能导致指针移动到最前或者最后离开数组导致数组不能使用通过next和prev不能回到真确的指针位置。只能通过end或者reset进行指针重置 3其他函数
count()统计数组中元素的数量
array_push()往数组中加入一个元素数组后面
array_pop()从数组中取出一个元素数组后面
array_shift()从数组中取出一个元素数组前面
array_unshift()从数组中加入一个元素数组前面
PHP模拟数据结构
栈压栈先进去后出来FILO 编程思想
编程思想如何利用数学模式来解决对应的需求问题然后利用代码实现对应的数据模型逻辑。
算法使用代码实现对应的数学模型从而解决对应的业务问题。
递推算法
递推算法是一种简单的算法即通过已知条件利用特定关系得出中间推论直至得到结果的算法。递推算法分为顺推和逆推两种。
顺推通过最简单的条件已知然后逐步推演结果
逆推通过结果找到规律然后推到已知条件
斐波那契数列1 1 2 3 5 8 13 …通常需求请求得指定位置N所对应的值是多少
找规律
1、 第一个数是1
2、 第二个数也是1
3、 从第三位开始属于前两个数的和
代码解决思路
1、 如果数字位置为1和2结果都是1
2、 从第三个开始想办法得到前两个的结果就可以得到
终极解决办法想办法把要求的位置之前的所有的值都列出来那么要求的数就可以通过前两个之和计算出来使用数组存储所有结果即可。
递推算法求斐波那契数列 ?php
//递推思想算法
//已知条件第一个和第三个数都是1第三个开始为前两个之和
function my_recursive($des)
{//判断如果为第一个或者第二个if ($des 1 || $des 2) return 1;//开始计算$f[1] 1;$f[2] 1; //如果想要第一个或者第二个结果那么可以直接给出$des 15;for ($i 3; $i $des; $i) {$f[$i] $f[$i - 1] $f[$i - 2];}//返回最后一个位置的结果return $f[$des];
}echo my_recursive(4); 递归算法
递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数或过程来表示问题的解。
1、 简化问题找到最优子问题不能再小
2、 函数自己调用自己
斐波那契数列1 1 2 3 5 8 13 …
需求求指定位置的数列的值
规律第一个和第二个为1从第三个开始为前两个之后
F(N) F(N-1) F(N-2);
F(N-1) F(N-2) F(N - 3);
…
F(2) F(1) 1;
递归思想中有两个非常重要的点
递归点发现当前问题可以有解决当期问题的函数去解决规模比当前小一点的问题来解决 F(N) F(N - 1) F(N - 2);
递归出口当问题解决的时候已经到达必须有最优子问题不能再次调用函数
如果一个函数递归调用自己而没有递归出口就是死循环
递归的本质是函数调用函数一个函数需要开辟一块内存空间递归会出现同时调用N多个函数自己递归的本质是利用空间换时间 ?php
//递归思想
//递归一定有函数
function recursion($n){//递归出口if($n 1 || $n 2) return 1;//递归点return recursion($n - 1) recursion($n - 2);
}//调用
echo recursion(10);