程序的核心是算法。
什么是算法?
通俗而言,算法是一个定义明确的计算过程,可以一些值或一组值作为输入并产生一些值或一组值作为输出。因此算法就是将输入转为输出的一系列计算步骤。
简言之,算法就是可完成特定任务的一系列步骤,算法应该具备三大基本特征:
确定性。指令明确,算法中每一步骤都必须有明确定义,不允许有多义性;
有穷有限性。算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;
有效可行性。算法原则上能够精确地执行;
我是从冒泡算法开始学习算法大全的。
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。在排序过程中总是小数往前放,大数往后放,相当于气泡往上升。
冒泡排序例子
//冒泡排序 (一维数组) //思路:每次从数组当中 冒一个最大的数出来,从小到大,第一轮排最小,第二轮排第二小,第三轮排第三小,依次类推... function bubble_sort($array) { $count = count($array); if($count < 0) { return false; } //每循环一次,就跑一趟后面的排序 //该层循环控制 需要冒泡的轮数 for($i = 0; $i < $count; $i++) { //该层循环用来控制每轮 冒出一个数 需要比较的次数 for($j = $count - 1; $j > $i; $j--) { //$array[$j] > $array[$j - 1] //从大到小降序排序 if($array[$j] < $array[$j - 1]) { $tmp = $array[$j]; $array[$j] = $array[$j - 1]; $array[$j - 1] = $tmp; } } } return $array; } //$arr=array(32,34,343,676,3,2,5,7,8,12,43); //var_dump( bubble_sort($arr));
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫