
数据结构与算法
markzhu_
这个作者很懒,什么都没留下…
展开
-
算法-插入排序(PHP代码实现)
简介插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。1. 算法步骤将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插原创 2020-09-16 11:53:28 · 150 阅读 · 0 评论 -
算法-快速排序(PHP代码实现)
快速排序原理偷个懒,原理直接参考下面这篇文章,我这里只写php实现方式传送门:https://www.sohu.com/a/246785807_684445PHP代码实现 /** * 快速排序 * @param $arr * @return mixed */ public function quickSort($arr) { $length = count($arr); // 当数组只剩一个元素的时候不再原创 2020-09-16 11:17:16 · 537 阅读 · 0 评论 -
算法-冒泡排序(PHP代码实现)
三分钟彻底理解冒泡排序1.原理:比较两个相邻的元素,将值大的元素交换到右边2.思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。(1)第一次比较:首先比较第一和第二个数,将小数放在前面,将大数放在后面。(2)比较第2和第3个数,将小数 放在前面,大数放在后面。…(3)如此继续,知道比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成(4)在上面一趟比较完成后,最后一个数一定是数组中最大的一个数,所以在比较第二趟的时候,最后一个数是不参加比较的。(5原创 2020-09-15 15:27:41 · 1697 阅读 · 0 评论