楠Go随笔

PHP算法

2018-02-09 11:40:21 admin 阅读 网站首页 > PHP > 开发心得

毕业许久,老师教的东西基本上都忘了一大半,但是ITman学习应该永不止步,不进则退也是很尴尬!温故而知新,好好重拾下基本功。

直接插入排序

<?php
$sort = array(4,3,2,10,9,8,7,11); sortInsert($sort); //直接插入排序的基本思想是 : 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。假设一组数据中 第一个元素是排序好的 其他为未排序 //直接插入排序是由两层嵌套循环组成的。外层循环标识并决定待比较的趟数。内层循环为待比较数值确定其最终位置。 //算法复杂度为o(n^2) 消耗时长取决于两层循环执行的次数 是等差数列 简化之后丢掉一次项和系数 结果为n^2 //属于稳定排序 function sortInsert(&$sort) {     //计算数组长度     $count = count($sort);     //外层循环执行比较趟数 为n-1次     for ($i=1; $i =0&&$sort[$j]>$temp ; $j--) {              //如果前面的元素大于该变量 需要后移一位             $sort[$j+1] = $sort[$j];         }         $sort[$j+1] = $temp;  //将元素插入到正确的位置     } } print_r($sort);
?>

感悟:理解算法这东西必须要有足够的抽象能力和具备一定的想象力,善于假设。

搜索

关于楠Go

2015年毕业于吉林大学珠海学院,现今工作已两年有余,2014年在珠海一家游戏公司从事手机游戏开发,后离职转型为网络端PHP工程师,时至今日。熟练掌握PHP面向对象编程网络编程TP框架使用Discuz论坛插件开发。掌握前端框架Bootstrap的使用,掌握JS框架Jquery的使用。已开发多款网站,有着一定基础的开发经验,希望能在互联网领域再上一层楼!

了解更多: 开源中国 ThinkPHP


Powered by MetInfo 5.3.19 ©2008-2018 www.MetInfo.cn