一、考点
1、冒泡排序原理和实现
1)原理
两两相邻的数进行比较,如果反序就交换,否则不交换。
2)实现
1, 3, 2, 4, 6, 5,进行冒泡排序。
步骤如下:
第一轮:拿 1,3,进行比较, 1 < 3,因此位置不变,第一轮得到 1,3,2,4,6,5;
第二轮:拿 3, 2,进行比较,3 > 2,因此交换位置,第二轮得到 1,2,3,4,6,5;
第三轮:拿 3, 4,进行比较,3 < 4,因此位置不变,第三轮得到 1,2,3,4,4,6,5;
第四轮:拿 4, 6,进行比较,4 < 5,因此位置不变,第四轮得到 1,2,3,4,6,5;
第五轮:拿 6, 5,进行比较,6 > 5,因此交换位置,第五轮得到 1,2,3,4,5,6。
冒泡排序最终结果:1,2,3,4,5,6


2、延伸
1)算法的概念
1 + 2 + 3 + 4 + … + n 的值是多少?
① 解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作;
② 一个问题可以有多种算法,每种算法都不同的效率;
如: 1 + 2 + 3 + 4 + … + n的值,这道题,可以进行改进一下,不要直接加,直接加的效率很低。可以采用 梯形的面积算法(
(上底 + 下底) x 高 / 2),用到此题中,为 (1 + n) * n/2,即最终结果为n(n+1)/2,这样效率就会提高很多。
③ 一个算法具有五个特征
- 有穷性:有结束的时候。
PHP面试:冒泡排序详解及常见算法比较

本文深入探讨了PHP实现的冒泡排序算法,解释了其原理和步骤,并介绍了时间复杂度和空间复杂度的概念。此外,文章还提到了其他常见排序算法,如快速排序、归并排序等,以及二分查找等查找算法,强调了算法效率的重要性。
最低0.47元/天 解锁文章
413

被折叠的 条评论
为什么被折叠?



