排序算法与二分查找

发布时间:2024-12-20 01:06

初学者应从简单的算法开始练习,如排序或查找。 #生活技巧# #数码产品使用技巧# #编程入门指南#

排序算法

最新推荐文章于 2024-12-17 10:00:00 发布

wang_soso 于 2017-03-07 18:12:24 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

冒泡算法

冒泡算法的思路是相邻的元素比较,极值出现在数组右端,即每一次循环都可选出极值.

function bubble($arr){ for($i=0,$len=count($arr);$i<$len-1;++$i){ for($j=0;$j<$len-1-$i;++$j){ if($arr[$j]>$arr[$j+1]){ $tmp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$tmp; } } } return $arr; }123456789101112

选择排序

选择排序是依次用排序好的元素和剩下的元素比较,最值出现在数组左侧.

function selection($arr){ for($i=0,$len=count($arr);$i<$len-1;++$i){ for($j=$i+1;$j<$len-1;++$j){ if($arr[$i]>$arr[$j]){ $tmp=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$tmp; } } } return $arr; }123456789101112 二分法 前提是对一个有序数组进行操作,找出所要元素对应的索引.

function harfsort($arr,$target){ $min=0; $max=count($arr)-1; $mid=(int)(($max-$min)/2); while(true){ if($target>$mid){ $min=$mid+1; }else if($target<$mid){ $max=$mid-1; }else{ return $mid; } if($min>$max){ reutrn -1; } $mid=(int)(($max-$min)/2); } }

123456789101112131415161718

网址:排序算法与二分查找 https://www.yuejiaxmz.com/news/view/522121

相关内容

计算机算法设计与分析(第二章上机实践题)
记录日常学习之Python的二分查找
php四种基础排序(基础算法)
算法设计与分析
APS智能排产+运筹优化算法=?
面试官问你:程序=算法+数据结构,能深入讲讲吗?
这就是算法:日常生活中的算法应用
【算法设计与分析】递推算法
算法优化大揭秘:12个加速算法运行速度的实用技巧
程序员到底为什么要掌握数据结构与算法?

随便看看