算法的使用,在实例操作中还是不明显的,但是在面试中,那就是座上宾客,经常能在面试中被遇到,最常见的问题也是排序算法和查找算法,另外还有字符串的处理以及数组处理也是经常被问到的话题,下面就部分常见的算法的问题,给大家简单介绍这些常见的算法基本使用,大家可以补全学习哦~
1、快速排序
实例演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php
function quickSort( $arr )
{
$count = count ( $arr );
if ( $count <= 1) {
return $arr ;
}
$index = $arr [0];
$left = [];
$right = [];
for ( $i = 1; $i < $count ; $i ++) {
if ( $arr [ $i ] < $index ) {
$left [] = $arr [ $i ];
} else {
$right [] = $arr [ $i ];
}
}
$left = quickSort( $left );
$right = quickSort( $right );
return array_merge ( $left , [ $arr [0]], $right );
}
$arrtest = [12, 43, 54, 33, 23, 14, 44, 53, 10, 3, 56];
$res = quickSort( $arrtest );
var_dump( $res );
|
2、冒泡排序
1 2 3 4 5 6 7 8 9 10 11 | <?php
function bubbleSort( $arr )
{
$count = count ( $arr );
for ( $i = 1; $i < $count ; $i ++) {
for ( $j = 0; $j < $count - $i ; $j ++) {
if ( $arr [ $j ] > $arr [ $j + 1]) {
$temp = $arr [ $j ];
$arr [ $j ] = $arr [ $j + 1];
$arr [ $j + 1] = $temp ;
}
|
3、快速查找
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php
function getQuick( $arr )
{
$len = count ( $arr );
if ( $len <= 1) {
return $arr ;
}
$num = $arr [0];
$big = array ();
$small = array ();
foreach ( $arr as $v ) {
if ( $v > $num )
$big [] = $v ;
if ( $v < $num )
$small [] = $v ;
}
|
当然还有二分查找、优惠券排序等等,就几个常见的面试题,大家可以多了解上述内容进行学习哦~