PHP面试:写出常见的排序算法,并用PHP实现冒泡排序
程序员文章站
2022-05-11 08:35:45
面试中,涉及算法相关的考点并不多,因为在实际工作中PHP涉及的算法都很简单,但也会出现在一些笔试中,用于考察面试者的基本功,其中考察最多的就是排序算法,而对 冒泡排序的理解和实现 更是重中之重。 常见排序算法 冒泡排序 直接插入排序 希尔排序 选择排序 堆排序 归并排序 常考题:以上哪个算法的效率更 ......
面试中,涉及算法相关的考点并不多,因为在实际工作中php涉及的算法都很简单,但也会出现在一些笔试中,用于考察面试者的基本功,其中考察最多的就是排序算法,而对 冒泡排序的理解和实现 更是重中之重。
常见排序算法
- 冒泡排序
- 直接插入排序
- 希尔排序
- 选择排序
- 堆排序
- 归并排序
常考题:以上哪个算法的效率更快?(如果有 归并排序 优先选择,没有的话,选择 快速排序)
冒泡排序的原理
两两相邻的数进行比较,如果反序就交换,否则不交换。
时间复杂度:o(n^2)
空间间复杂度:o(1)
冒泡排序的实现
for ($i=0, $c=count($arr); $i < $c ; $i++) { for ($j=0; $j < $c-1; $j++) { if($arr[$j] > $arr[$j+1]){ $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } }