位置: 编程技术 - 正文
推荐整理分享PHP经典算法集锦【经典收藏】(php技术),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php算法面试题及答案,用php做个简单的计算,php技术,php技术,php算法大全教程,php 算法,php算法大全教程,php算法大全教程,内容如对您有帮助,希望把文章链接给更多的朋友!
本文实例总结了PHP经典算法。分享给大家供大家参考,具体如下:
1、首先来画个菱形玩玩,很多人学C时在书上都画过,咱们用PHP画下,画了一半。
思路:多少行for一次,然后在里面空格和星号for一次。
2、冒泡排序,C里基础算法,从小到大对一组数排序。
思路:这题从小到大,第一轮排最小,第二轮排第二小,第三轮排第三小,依次类推……
3、杨辉三角,用PHP写。
思路:每一行的第一位和最后一位是1,没有变化,中间是前排一位与左边一排的和,这种算法是用一个二维数组保存,另外有种算法用一维数组也可以实现,一行 一行的输出,有兴趣去写着玩下。
2 3 3 4 6 4 5 5 1
4、在一组数中,要求插入一个数,按其原来顺序插入,维护原来排序方式。
思路:找到比要插入数大的那个位置,替换,然后把后面的数后移一位。
5、对一组数进行排序(快速排序算法)。
思路:通过一趟排序分成两部分,然后递归对这两部分排序,最后合并。
6、在一个数组查找你所需元素(二分查找算法)。
思路:以数组中某个值为界,再递归进行查找,直到结束。
7、合并多个数组,不用array_merge(),题目来于论坛。
思路:遍历每个数组,重新组成一个新数组。
8、牛年求牛:有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到岁绝育,不再能生,岁死亡,问n年后有多少头牛。(来自论坛)
====================其他算法=========================
冒泡排序 (bubble sort) — O(n2)
插入排序 (insertion sort)— O(n2)
希 尔排序 (shell sort)— O(n log n)
快 速排序 (quicksort)— O(n log n)
=================================================
冒泡排序:两两交换数值,最小的值在最左边,就如最轻的气泡在最上边。对整列数两两交换一次,最小的数在最左边,每次都能得一个在剩下的数中的最小 的数,“冒”出来的数组成一个有序区间,剩下的值组成一无序区间,且有序区间中每一元素值都比无序区间的小。
快速排序:基准数,左右二个数组,递归调用,合并。
插入排序:排序区间分成二部分,左边有序,右边无序,从右区间取 第一个元素插入左区间,若此元素比左边区间最右边的元素大,留在原处,若此元素比左 边区间最右边的元素小,则插在最右边元素的原位置,同时最右边元素右移一位,计算器减一,重新和前面的元素比较,直到前面的元素比要插入元素小为止,重复 上述步骤。
注意区间端点值的处理,及数组的第一个元素下标为0.
=======================================
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php加密方法总结》、《PHP编码与转码操作技巧汇总》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php正则表达式用法总结》、及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
PHP自定义函数实现格式化秒的方法 本文实例讲述了PHP自定义函数实现格式化秒的方法。分享给大家供大家参考,具体如下:functionvtime($time){$output='';foreach(array(='天',='小时',='分',1=
php+ajax实现带进度条的上传图片功能【附demo源码下载】 本文实例讲述了php+ajax实现带进度条的上传图片功能。分享给大家供大家参考,具体如下:运行效果图如下:代码如下:phpif(isset($_FILES["FileInput"])&&$_FILES
PHP实现对二维数组某个键排序的方法 本文实例讲述了PHP实现对二维数组某个键排序的方法。分享给大家供大家参考,具体如下:/***对查询结果集进行排序*@accesspublic*@paramarray$list查询结果*@p
标签: php技术
本文链接地址:https://www.jiuchutong.com/biancheng/301759.html 转载请保留说明!友情链接: 武汉网站建设