云虚拟主机需要升级php,不是你的手机。
云主机是linux么?可以用 xshell 登录进去,命令行 yum 安装
考点:
冒泡排序的原理和实现:
原理:两两相邻的数进行比较,如果反序就交换,否则不交换
时间复杂度:最坏(o(n2)),平均(o(n2))
$a= [2,31,5,1,4,6];
$len=count($a);
for ($i=0;$i<$len;$i++){
for($j=0;$j<$len-1;$j++){
if($a[$j]>$a[$j+1]){
$tmp=$a[$j];
$a[$j]=$a[$j+1];
$a[$j+1]=$tmp;
}
}
}
print_r($a);
算法的概念:
1+2+3+4+…n的值是多少
解决特定问题求解的步骤,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作
公式:n(1+n)/2
概念:一个问题可以有多种算法,每种算法都有不同的效率
算法的特征:有穷性、确切性、输入项、输出项、可行性
时间复杂度和空间复杂度的概念:
算法的评定:
算法分析的目的在与选择合适的算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑
时间复杂度:执行算法所需要的计算工作量,一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做 T(n)=O(f(n)),问题的规模n越大,算法执行时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度(Asymptotic Time complexity)
计算方式:
得出算法的计算次数公式
用常数1来代替所有时间中的所有加法常数
在修改后运行次数函数中,只保留最高阶项,如果最高阶项存在且不是1,则去除这个项相乘的常数
o(n^2),o(1),o(n)
举例:
常数阶o(1):
function test($n){
echo $n;
echo $n;
echo $n;
}
$n不管是多少只运行了三次,所以时间复杂度为o(3)记做o(1)
线性阶o(n):
1+2+3+4+…n的值是多少
$sum=0;
for (i=1;i=1;i=1;i<=n;n;n;i++){
sum+=sum+=sum+=i;
}
n代表要加的次数,时间复杂度:o(n),所以说时间复杂度就是那计算的次数
平(立)方阶o(n2)/o(n3):
$sum=0;
for(i=1;i=1;i=1;i<=n;n;n;i++){
for(j=1;j=1;j=1;j<=n;n;n;j++){
sum+=sum+=sum+=j;
}
}
里面的循环执行n次,外面的循环也执行n次,即n*n也就是n2即o(n2),如果是三种循环的话就是立方
对数阶:。。。。。
nlog2n阶:。。。。。
指数阶:。。。。。
空间复杂度
算法需要消耗的内存空间,记作S(n)=O(f(n))
包括程序代码所占用的空间,输入数据所占用的空间和辅助变量所占用的空间
计算和表示方法与时间复杂度类似,一般用复杂度的渐进性来表示
常见的排序算法:
冒泡排序、直接插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序
常见的查找算法:
二分查找:
从数据的中间元素开始,如果中间元素正好是要搜索的元素,搜索结束,如果某一个特定的元素大于或者小于中间元素,则在大于或小于的中间元素的那一边查找,而且跟开始一样从中间开始比较,如果某一步骤为空,代表找不到。
顺序查找:按照一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。
时间复杂度:最差(o(n))平均:o(o(n)) 空间复杂度:o(1)
对于升级php的情况,需要知道具体想升级到哪个版本的PHP,以及使用的操作系统和服务器,不同的操作系统和服务器对于升级php有不同的影响。一般来讲,升级PHP可以通过以下步骤进行:
1.备份原有的PHP版本和文件,以防万一。 2.安装新的PHP版本,可以通过编译安装或者使用包管理器进行安装。 3.修改web服务器配置,让web服务器使用新版本的PHP。具体操作可以参考web服务器的文档。 4.测试网站是否正常运行。
对于顺序查找和二分查找算法的描述,可以参考以下代码实现:
//二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ($low <= $high){ $mid = intval(($low+$high)/2); if ($array[$mid] == $k){ return $mid; }elseif ($k < $array[$mid]){ return bin_sch($array, $low, $mid-1, $k); }else{ return bin_sch($array, $mid+1, $high, $k); } } return -1; }
//顺序查找(数组里查找某个元素) function seq_sch($array, $n, $k){ $array[$n] = $k; for($i=0; $i<$n; $i++){ if($array[$i]==$k){ break; } } if ($i<$n){ return $i; }else{ return -1; } }
其中,二分查找算法的时间复杂度为O(log n),顺序查找算法的时间复杂度为O(n),需要考虑到数据是否有序,以及效率的问题。