一个排序算法问题(数据结构)

nxnh 2007-01-10 11:32:06
已知某文件的记录关键字集为{50,10,50,40,45,85,80},选择一种从平均性能而言是最佳的排序方法进行排序,且说明其稳定性。

最好的方法不就是快速排序吗?这道题是不是应该分析n?
...全文
526 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigc2000 2007-01-17
  • 打赏
  • 举报
回复
老师当然要你写快排了,但是:下面是我抄的:

快速排序,需要
N次划分阶段,递归N次。
2(N+1)(Hn+1—1) 大约 2NlnN -0.846N次比较
(N+1)(Hn+1——5/2)/3+1/2 大约 0.333NLnN-1.346N次交换

Hn为调和级数和

插入排序 N(N-1)/4

以上均是平均性能
fosjos 2007-01-11
  • 打赏
  • 举报
回复
稳定性
ybt631 2007-01-10
  • 打赏
  • 举报
回复
你的数字太少,插排最适合
ybt631 2007-01-10
  • 打赏
  • 举报
回复
_Diff _Count;
for (; _ISORT_MAX < (_Count = _Last - _First) && 0 < _Ideal; )
{ // divide and conquer by quicksort
pair<_RanIt, _RanIt> _Mid = _Unguarded_partition(_First, _Last);
_Ideal /= 2, _Ideal += _Ideal / 2; // allow 1.5 log2(N) divisions

if (_Mid.first - _First < _Last - _Mid.second) // loop on larger half
_Sort(_First, _Mid.first, _Ideal), _First = _Mid.second;
else
_Sort(_Mid.second, _Last, _Ideal), _Last = _Mid.first;
}

if (_ISORT_MAX < _Count)
{ // heap sort if too many divisions
std::make_heap(_First, _Last);
std::sort_heap(_First, _Last);
}
else if (1 < _Count)
_Insertion_sort(_First, _Last); // small, insertion sort

针对n值的不同,首先快排,然后堆排,最后插排
基本上没有什么排序比它还快了
nxnh 2007-01-10
  • 打赏
  • 举报
回复
不是,这是考题,得说出用哪种算法,比如直接插入排序还是快速排序
ybt631 2007-01-10
  • 打赏
  • 举报
回复
看stl里面的sort实现,任意大小的n都能实现高效
nxnh 2007-01-10
  • 打赏
  • 举报
回复
老兄,能说详细点吗?这是我们这次考研补课班给的复习题
jixingzhong 2007-01-10
  • 打赏
  • 举报
回复
要考虑 性能,
自然要分析 n ~~
nxnh 2007-01-10
  • 打赏
  • 举报
回复
为什么插排合适?我觉得快速排序还是比插排快
nxnh 2007-01-10
  • 打赏
  • 举报
回复
谢谢,研究研究...
  在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。 《算法导论(原书第3版)》选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在it专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。    第3版的主要变化:    新增了van emde boas树和多线程算法,并且将矩阵基础移至附录。    修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。    移除两章很少讲授的内容:二项堆和排序网络。    修订了动态规划和贪心算法相关内容。    流网络相关材料现在基于边上的全部流。    由于关于矩阵基础和strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。    修改了对knuth-morris-pratt字符串匹配算法的讨论。    新增100道练习和28道思考题,还更新并补充了参考文献。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧