数据结构与算法
未读
2.1 冒泡排序(Bubble Sorting)
2.1 冒泡排序(Bubble Sorting) 一. 定义 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 因为排序的过程中,各元素不断
数据结构与算法
未读
2.2 选择排序(select sorting)
2.2 选择排序(select sorting) 一. 定义 选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。 选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]—arr[n-1]中选取最小
数据结构与算法
未读
2.4 希尔排序(Shell Sort)
2.4 希尔排序(Shell Sort) 一. 定义 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,是突破O(n2)的第一批算法。 希尔排序是把记录按下标的一定增量分组,对每组使
数据结构与算法
未读
2.3 插入排序(Insertion Sorting)
2.3 插入排序(Insertion Sorting) 一. 定义 插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。 插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元
数据结构与算法
未读
2.4 归并排序(Merging Sort)
2.4 归并排序(Merging Sort) 一. 定义 归并排序(Merging Sort)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答
数据结构与算法
未读
2.6 基数排序(Radix Sort)
2.6 基数排序(Radix Sort) 一. 定义 基数排序(radix sort)是1887年赫尔曼·何乐礼发明的,属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“
数据结构与算法
未读
2.5 快速排序(Quick sort)
2.5 快速排序(Quick sort) 一. 定义 快速排序(Quick sort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到
数据结构与算法
未读
2.7 堆排序(Heap Sort)
2.7 堆排序(Heap Sort) 一. 定义 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是选择排序的改进,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。 堆排序是具有以下性质的完全二叉树: 每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没