数据结构排序方法总结

本文档中总结了数据结构中内部排序的各种方法,让大家对排序的掌握有很大的帮助哦!

数据结构的内部排序

数据结构中的内部各种排序,大体上分为五大类,在我们对每个算法进行分析前,最重要的是搞清楚它的基本思想。

★插入类排序;

★交换类排序;

★选择类排序;

★归并排序;

★分配类排序;

数据结构排序方法总结

基本思想是:在一个已经排好序的序列中,每一步都将下一个待排序的记录插入到已排好序的记录中,直到所有待排序的记录全部插入为止。

插入类排序又分为三大类:

●直接插入排序; ●折半插入排序;

●希尔排序;

下面我们以直接插入排序与希尔排序为例。

(1) 直接插入排序 算法思想:将第i个记录(i一般是从2开始)插入到前面i-1个已经排好序的记录中。

具体过程:将第i个记录的关键字K顺次与其前面记录的关键字进行比较。将所有关键字大于K的记录依次向后移动一个位置,直到遇到小于或等于K的关键字,就把K插入到其后面即可。

下面我们以一个例子为例,讲解它的具体实现过程。

直接插入排序举例

以12 2 16 30 8 28 4 10 20 6 18序列为例

第一趟:2 12 16 30 8 28 4 10 20 6 18

第二趟:2 8 12 16 30 28 4 10 20 6 18

第三趟:2 8 12 16 28 30 4 10 20 6 18

第四趟:2 4 8 12 16 28 30 10 20 6 18

第五趟:2 4 8 10 12 16 28 30 20 6 18

第六趟:2 4 8 10 12 16 20 28 30 6 18

第七趟:2 4 6 8 10 12 16 20 28 30 18

第八趟:2 4 6 8 10 12 16 18 20 28 30

功能实现:

输入:数组名称(也就是数组首地址)、数组中元素个数

================================================

算法思想简单描述:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 直接插入排序是稳定的。算法时间复杂度O(n2 )

=====================================================

voidinsert_sort(int *x, int n)

{

int i, j, t;

相关文档
数据结构排序算法总结I
数据结构排序算法总结I_工学_高等教育_教育专区。数据结构排序算法总结 I 考研复习到数据结构排序这章了,这章的内容比较经典,都是一些很好的算法,将来很可能会用...
数据结构排序方法的研究
数据结构排序方法的研究_计算机软件及应用_IT/计算机_专业资料。龙源期刊网 http://www.qikan.com.cn 数据结构排序方法的研究 作者:王海燕 来源:《科技资讯...
数据结构排序总结
数据结构排序总结_工学_高等教育_教育专区。排序的时间和空间复杂度分析排序总结 排序方法 平均时间 最坏时间 简单排序 O(n ) 快速排序 O(nlogn) 堆排序 O...
数据结构中的排序算法总结
数据结构中的排序算法总结_计算机软件及应用_IT/计算机_专业资料。文章比较全面... 2014年统计法基础知识精讲 20份文档 乘机安全小贴士 安全乘机指南 如何选择...
【论文】数据结构的排序方法研究
数据结构的排序方法研究_专业资料。排序在计算机程序设计中非常重要,各种排序方法各有其优缺点,适用场合也不同。本文从多个方面对各种内排序方法进行全面的比较...
数据结构各种排序算法总结
n 在排序一系列取值方法:Lnuth 序列,间隔 h=3h + 1 效率:O(N3/2) 到 O(N7/6) 6. 快速排序 其根本机制在于划分: 划分数据就是把数据分为两组,...
数据结构排序算法总结
数据结构排序算法总结_IT/计算机_专业资料。数据结构中常见的排序算法的小结,...希尔排序:实际上是一种分组插入方法。基本思想是先取一 个小于n的整数d1作为第...
常用排序算法总结——数据结构
因此排序时间复杂性可以算法执行中的数据比较次 数及数据移动次数来衡量。当一种排序方法使排序过程在 最坏或平均情况下所进行的比较和移动次数越少,则认为 该...
数据结构排序超级总结
数据结构排序超级总结_IT/计算机_专业资料。数据结构排序超级总结...选取排序方法需要考虑的因素: (1) 待排序的元素数目 n; (2) 元素本身信息量...
数据结构排序总结(C语言)
数据结构排序总结(C语言)_工学_高等教育_教育专区。直接插入排序,布尔排序,...[maxsize+1]; int length; }list; //以下是八种排序方法的子函数的说明 ...
相关主题
热门文档