博主信息
博文 6
粉丝 0
评论 0
访问量 5866
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
常见算法考察点
Maple201的博客
原创
1022人浏览过

php冒泡排序

原理和实现: 两两相邻的数进行比较,如果反序就交换,否则不交换

 1,3,2,4,6,5

for($i=0,$c=count($arr);$i<=$c;$i++){

    for($j=0;$j<$c;$j++){

         if($arr[$j]>$arr[j+1]){

            $temp=$arr[j+1];

            $arr[j+1]=$arr[j];

            $arr[j]=$temp;

         }

    }

}

echo $arr;

直接插入排序:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。

延伸:算法的概念

解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作

一个问题可以有多个算法,每种算法有不同的效率

一个算法具有五个特征:有穷性,确切性,输入项,输出项,可行性


延伸:时间复杂度和空间复杂度的概念

时间复杂度:执行算法所需要的计算工作量

时间复杂度的计算方式:

得出算法的计算次数公式

用常数1来取代所有时间中的所有加法常数

在修改后的运行次数函数中,只保留最高阶项

如果最高阶项存在且不是1,则去除与这个项相乘的常数


空间复杂度:算法需要消耗的内内存空间


延伸:常见排序算法

冒泡排序,直接插入排序,希尔排序,选择排序,快速排序,堆排序,归并排序(最优)


延伸:常见查找算法

二分查找(最优):从数组的中间元素开始,如果中间元素正好是要查找的元素,搜索结束,如果某一个特定元素大于或者小于中间元素,则在数组大于或者小于中间元素的那一半中查找,而且跟开始一样从中间开始比较,如果某一步骤数组为空,代表找不到。

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学