- 15
- 0
- 约1.35万字
- 约 17页
- 2017-08-31 发布于安徽
- 举报
数据结构中的排序算法及性能分析
一、引言
排序(sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。为了查找方便通常希望计算机中的表是按关键字有序的。因为有序的顺序表可以使用查找效率较高的折半查找法。
在此首先明确排序算法的定义:
假设n个记录的序列为
{ ,,…} (1)
关键字的序列为:
{ ,,…,}
需要确定1,2,…,n的一种排列:,使(1)式的序列成为一个按关键字有序的序列:
上述定义中的关键字Ki可以是记录Ri(i=1,2,…,n)的主关键字,也可以是记录的次关键字,甚至是若干数据项的组合。若在序列中有关键字相等的情况下,即存在=(),且在排序前的序列中领先于。若在排序后的序列中Ri仍领先于,则称所用的排序方法是稳定的;反之若可能使排序后的序列中领先于,则称所用的排序方法是不稳定的。
一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法的时间与算法中语句执行次数成正比,那个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)。
在刚才提到的时间频度中,n称为问题的规模,当n
原创力文档

文档评论(0)