排序算法
算法小猪
unknow.
展开
-
排序算法笔记3——快速排序
快速排序 冒泡排序的移动次数较多,算法性能较差,而快速排序是一种高性能的排序算法。 一、基本思想 通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据比另一部分都要小,然后重复以上操作直到其变为有序序列。整个算法可以由递归进行。 第一步:分解 先从数据中选取一个元素作为基准元素(mid),以基准元素为标准,将序列分解为两个子序列。使小于或等于基准元素的元素在基准元...原创 2020-04-11 14:43:19 · 254 阅读 · 0 评论 -
排序算法笔记4——简单选择排序
选择排序 冒泡排序是通过两两比较并交换每次冒出一个最大的“泡泡”放在最后,而选择排序则是从待排序序列中选择一个最小的元素放在前面,只不过找最小元素的方法不同,选择排序包括简单选择排序和堆排序 一、简单选择排序 算法步骤 1.首先从arr[1..n]数组中选择一个最小的元素arr[k],arr[k]与arr[1]交换 2.第二趟排序,从r[2..n]中选择一个关键字最小的元素与r[2]交换...原创 2020-04-16 17:12:33 · 230 阅读 · 0 评论 -
排序算法笔记1——直接插入排序
一、算法步骤(大体框架) 1).设待排序的记录存储在array[1...n]中,可以把第一个记录array[1]看作一个有序序列 2).依次将array[i=2,...,n]寻找合适的插入点(枚举搞定)插入已经排好序的序列array[1...i-1]中 二、举个肥肠简单的栗子 例如利用直接插入排序对序列{12,2,16,}进行排序 1).初始状态——把array[1]看作一个有序序列 ...原创 2020-02-20 21:44:04 · 287 阅读 · 0 评论 -
排序算法笔记2——冒泡排序
一、啥是交换排序? 顾名思义,交换排序就是根据两个关键字值的比较结果,不满足次序要求时交换。冒泡排序和快速排序是典型的交换排序算法。其中快速排序是目前最快的排序算法 二、啥是冒泡排序? 冒泡排序是一种最简单的交换排序算法,通过两两比较,逆序交换,使关键字大的像泡泡一样冒出来放在尾部。重复执行冒泡排序,最终得到有序序列。 算法步骤 1).待排序的元素存储在arr[1...n]中,首先第一个...原创 2020-04-04 15:16:48 · 642 阅读 · 0 评论