分类: 算法

4 篇文章

选择排序思想
每一轮找一个最小的 PHP的代码实现: public function selectSort($arr = [64, 34, 25, 12, 22, 11, 90]) { $len = count($arr); for ($i = 0; $i < $len; $i++) { $minIdx = $i; for ($j = $i + 1…
二分查找思想
在一列有序数组中,查找某个元素。 思想:其实就是每次划1为2,确定要找的值,在哪个范围中,进而排除掉另一块范围,这种对大数据量的查找很友好。 用php代码来实现: public function binSearch($arr = [11, 12, 22, 25, 34, 64, 90], $target = 25) { $leftIdx =…
快速排序思想
快排其实就是一种分而治之的体现。 1、选择一个基准值,一般就是第一个元素。 2、比它小的放左边一个区中,比它大或等于的放右边一个区中。比如 [3, 2, 4, 1],第一轮比完,结果是 : [2 1] 【3】 [4] 3、按上面方式递归执行各个区块做比较, [2, 1] 区,[4] 区, [2, 1] =》 [1, 2] ,[4] 只有一个元素,不…
冒泡排序思想
再来分析一个案例:对 3,2,1 冒泡排序 ? 第一轮 : 3 2 1 3 2 -> 2 3 -> 2 3 1 3 1 -> 1 3 -> 2 1 3 // 确定了最大数3 第二轮 : 2 1 【3】 2 1 -> 1 2 -> 1 2 3 // 确定了第二大数2 可以看到,每一轮,就会确定一个最大数。 php的代码实现: public funct…