冒泡排序
冒泡排序的原理是,每一次遍历数组,都去不断地比较相邻的两个元素,如果它们的顺序不对,就交换这两个元素,比如把较大的换到后面。第一次遍历可以把最大的元素确定下来,放在最后的位置。第二次遍历可以确定 ...
鸡尾酒排序
鸡尾酒排序是冒泡排序的一种变体,又叫做双向冒泡排序。顾名思义,它从两个方向对数组或序列进行冒泡排序。每一次从左向右进行冒泡排序后,紧接着一次从右向左的冒泡排序。这样从左向右,然后从右向左,来回反 ...
选择排序
选择排序是一种简单直观的排序算法。这个算法把数组分为有序区和无序区,每次都选择无序区中的最大值或最小值,放入有序区中,直到整个数组都有序。
插入排序
插入排序是一种简单直观的排序算法。这个算法把数组分为有序区和无序区,每次都从无序区中拿出一个元素,插入到有序区正确的位置上,使有序区保持有序。不断重复这个操作,直到整个数组都有序。
希尔排序
希尔排序是由希尔提出的一种排序算法,它是插入排序的改进版本。希尔排序通过引入步长 gap,将数组分成多个子序列分别进行插入排序,这样可以让一个元素朝最终位置跳跃一大步。步长在每一轮排序后递减,最 ...
快速排序
快速排序是由东尼·霍尔提出的一种高效的排序算法,简称快排。它的算法思想并不复杂,可以用 3 个步骤 6 个字来概括:选基、分割、递归。扩充成一句话就是:首先挑选基准值;然后分割数组,把小于基准值 ...
归并排序
归并排序是由冯·诺伊曼提出的一种基于分治思想的高效排序算法。它的算法思想是,把当前序列平分成两个子序列,然后递归地对子序列进行排序,最后把排序好的子序列再合并成一个有序的序列。
堆排序
堆排序是一种基于比较的排序算法。它的算法思想和选择排序相似,都是把数组分为有序区和无序区,每次都从无序区中取最大值或最小值,放入有序区,直到整个数组有序。和选择排序的区别是,堆排序使用了一个二叉 ...
计数排序
计数排序是一种稳定的排序算法。它不是基于比较的排序算法,因此可以突破 O(n*log(n)) 的下界,在线性时间内完成排序。
桶排序
桶排序是一种稳定的排序算法。它的工作原理是将序列中的元素分布到一定数量的桶内,然后分别对每个桶内的元素进行排序,最后再将各个桶内的有序子序列放回原始序列中。对于单个桶内的元素排序,我们可以使用别 ...
基数排序
基数排序是一种稳定的排序算法。它不是基于比较的算法,因此可以突破 O(n*log(n)) 的下界。基数排序的工作原理是,根据选取的基数,把整数键值分割成几个部分。依次以这几个部分所对应的整数作为 ...
这里空空如也~
如果你看了一个视频并且学会了,可以将它标记为已学。标记为已学的视频就会出现在这里哦。
这里空空如也~
赶紧把你喜欢的视频收藏到这里来吧。