冒泡排序(Bubble Sort)是一种简单的排序算法,它的基本思想是重复地遍历待排序的列表,一次比较相邻的两个元素,如果它们的顺序不正确,就交换它们,直到没有任何交换发生。这个过程会一遍又一遍地重复,直到整个列表已经排...
选择排序不是稳定的排序算法,其算法的时间复杂度为 ,其算法基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 程序执行结果:
插入序算法是一种稳定的排序算法,其算法的时间复杂度为 O(n2),其算法基本思想如下: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 程序执行结果:
希尔排序是 Donald Shell 在 1959 年所发表的论文 《A high-speed sorting procedure》 中所描述。希尔排序是基于插入排序的以下两点性质而提出改进方法的: 我们来看看希尔是如何...
归并排序是建立在【归并】操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,它是稳定的排序算法,其时间复杂度为 。 归并操作可以将两个有序的序列合并为一个有序序列,...
Heap 数据结构一般都被看做是一棵完全二叉树对象,我们知道对于完全二叉树可以使用连续的数组空间来存储各个结点关系。 Heap 是一种非常重要的数据结构,使用 Heap 可以实现高效的排序、构建优先级队列等等。Heap ...