排序算法分析1--冒泡排序、插入排序、选择排序
排序算法分析1--冒泡排序、插入排序、选择排序 0.综述 1.冒泡排序(Bubble sort) 1.1冒泡排序算法原理 1.2冒泡排序算法优化与代码实现 1.3冒泡排序算法分析 2.插入排序(Insertion sort) 2.1插入排序算法原理 2.2直接插入排序代码实现 2.3直接插入排序算法分析 2.4折半插入排序算法 3.选择排序(Slection sort) 3.1选择排序算法原理 3.2选择排序代码实现 3.3选择排序算法分析 0.综述 所谓排序,就是将原本无序的序列重新排列成有序序列的过程 。排序算法对任何一个程序员来说都是一项基本功,在实际的项目中我们也经常需要使用排序。排序算法的选择和使用不仅要针对实际数据的特点,有时候排序的稳定性也必须考虑。这样可以提高程序的运行效率,让开发工作事半功倍。 学习排序算法不能仅仅停留在了解算法原理和使用代码实现这两步,我们应该在此基础上学会去分析和评价一个算法 。我们可以从以下几各方面去衡量一个排序算法: 对于排序算法执行效率的分析 ,包括最好、最坏、平均情况下的时间复杂度,算法运行过程中数据比较和交换的次数等。 对于排序算法的内存消耗分析 。算法的内存消耗通过空间复杂度来衡量。 排序算法的稳定性 。所谓稳定性,就是待排序的序列中的值相同的元素经过排序算法处理后是否保持原先的位置关系,若保持,则称这个排序算法为稳定的排序算法