随笔分类 -  排序算法

摘要:归并排序 原理 归并排序是一种分治算法。其思想是将原始数组切分成较小的数组,直到每个小数组只有一个位置,接着将小数组归并成较大的数组,直到最后只有一个排序完毕的数组。 function merge(left, right) { let result = [], i = 0, j = 0; while 阅读全文
posted @ 2021-06-21 19:31 Mr-Yao 阅读(89) 评论(0) 推荐(0)
摘要:快速排序 原理 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 过程 首先,从数组中选择中间一项作为主元。 创建两个指针,左边一个指向数组第一项, 阅读全文
posted @ 2021-06-20 19:16 Mr-Yao 阅读(60) 评论(0) 推荐(0)
摘要:插入排序 直接插入排序 折半插入排序 直接插入排序 直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已经排序号的有序表中,从而得到一个新的,记录数量增1的有序表 排序方法 1、简单方法 首先在当前有序区R[1..i-1]中查找R[i] 阅读全文
posted @ 2019-06-18 14:51 Mr-Yao 阅读(11047) 评论(0) 推荐(0)
摘要:冒泡排序(Bubble Sort) 一种最简单的交换排序方法,它通过两两比较相邻记录的关键字,如果发生逆序,则进行交换,从而使关键字小的记录如气泡一般逐渐往上‘漂移’(左移),或者使关键字大的记录如石块一样逐渐向下‘坠落’(右移)。 算法思想: 从数组头部开始,不断比较相邻的两个元素的大小,让较大的 阅读全文
posted @ 2019-06-17 20:04 Mr-Yao 阅读(322) 评论(0) 推荐(0)