加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP简单选择排序算法实例

发布时间:2020-12-12 20:39:24 所属栏目:PHP教程 来源:网络整理
导读:简单的选择排序算法:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1 代码如下: $arr[$j]) {//如果找到比$arr[$min]较小的值,则将该下标赋给$min $min=$j; } } if ($min!=$i){//若$min不等于$i,说明找到了最小值,则交换 $thi

简单的选择排序算法:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录交换

代码如下:
$arr[$j]) {//如果找到比$arr[$min]较小的值,则将该下标赋给$min $min=$j; } } if ($min!=$i){//若$min不等于$i,说明找到了最小值,则交换 $this->swap($arr[$i],$arr[$min]); } } } /** * 将$a和$b两个值进行位置交换 */ public function swap(&$a,&$b) { $temp=$a; $a=$b; $b=$temp; } } $arr=array(4,6,1,2,9,8,7,3,5); $test=new Sort(); $test->selectSort($arr);//简单的选择排序 // var_dump($arr); ?>

简单选择排序的特点:交换移动数据次数相当少,从而节约了相应的时间 简单选择排序的时间复杂度分析: 无论最好最差的情况,其比较次数都是一样多,第i趟排序需要进行n-i次关键字的比较,此时需要比较n(n-1)/2次。所以最终的时间复杂度是O(n^2) 尽管与冒泡排序同为O(n^2),但选择排序的性能还是略优于冒泡排序的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读