Blogger Information
Blog 6
fans 0
comment 0
visits 4821
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
常见算法考察点
Maple201的博客
Original
851 people have browsed it

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,则去除与这个项相乘的常数


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


延伸:常见排序算法

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


延伸:常见查找算法

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

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post