社区
数据结构与算法
帖子详情
一个排序算法问题(数据结构)
nxnh
2007-01-10 11:32:06
已知某文件的记录关键字集为{50,10,50,40,45,85,80},选择一种从平均性能而言是最佳的排序方法进行排序,且说明其稳定性。
最好的方法不就是快速排序吗?这道题是不是应该分析n?
...全文
526
10
打赏
收藏
一个排序算法问题(数据结构)
已知某文件的记录关键字集为{50,10,50,40,45,85,80},选择一种从平均性能而言是最佳的排序方法进行排序,且说明其稳定性。 最好的方法不就是快速排序吗?这道题是不是应该分析n?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
谢谢,研究研究...
完整视频-coursera公开课 普林斯顿算法 ⅠⅡ部分
本资源为BT文件,下载速度快,如果P2P工具支持下载字幕可以进行下载 Coursera上的公开课,普林斯顿大学教授Robert Sedgewick主讲《Algorithms》算法 Java实现 课程网站http://algs4.cs.princeton.edu/home/ 视频
一个
两部分,算法(一)主要集中在基础的
数据结构
、排序、查找算法。 相关主题有:并查集算法,二分查找,栈,队列,背包,插入排序,选择排序,希尔排序,快速排序, 三切分快排,归并排序,堆排序,二分堆,二分查找树,红黑树,链表,线性哈希表,Graham扫描,kd树。 算法(二)主要讲解图论和字符串处理的相关算法。相关主题有:深度优先搜索,宽度优先搜索,拓扑排序,Kosaraju-Sharir算法,Kruskal算法,Prim算法,Dijkistra算法,Bellman-Ford算法, Ford-Fulkerson算法, LSD radix sort算法, MSD radix sort算法, 3-way radix 快排算法, 多路尝试法, 三元查找尝试法, Knuth-Morris-Pratt算法, Boyer-Moore算法, Rabin-Karp算法, 正则匹配, run-length编码, Huffman编码, LZW压缩, 还有Burrows-Wheeler变换。
算法导论(正宗中文第三版)3-1
在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。 《算法导论(原书第3版)》选材经典、内容丰富、结构合理、逻辑清晰,对本科生的
数据结构
课程和研究生的算法课程都是非常实用的教材,在it专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。 第3版的主要变化: 新增了van emde boas树和多线程算法,并且将矩阵基础移至附录。 修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。 移除两章很少讲授的内容:二项堆和排序网络。 修订了动态规划和贪心算法相关内容。 流网络相关材料现在基于边上的全部流。 由于关于矩阵基础和strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。 修改了对knuth-morris-pratt字符串匹配算法的讨论。 新增100道练习和28道思考题,还更新并补充了参考文献。
数据结构
——七大经典
排序算法
目录 排序的概念 插入排序 直接插入排序 希尔排序(缩小增量的排序) 选择排序 直接选择排序 堆排序 交换排序 冒泡排序 快速排序 归并排序 对于
排序算法
的总结 所有的
排序算法
均已上传至码云(Gitee)中,可以点击查看:七大经典
排序算法
代码 排序的概念 排序即使一串记录,按照其中某个或某些关键字的大小,递增或者递减的排列起来。排序分为内部排序和外部排序,内部排序即将数据元素全部放在内存中的排序,外部排序即当数据元素过多不能同时放在内存中排序时,根据排序的要求...
数据结构
:十大经典
排序算法
数据结构
:十大经典
排序算法
数据结构
与算法学习笔记
本文是王争老师的《算法与
数据结构
之美》的学习笔记,详细内容请看王争的专栏。有不懂的地方指出来,我做修改。
数据结构
与算法思维导图
数据结构
指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。
数据结构
是为算法服务的,算法是要作用再特定的
数据结构
上的。 最常用的
数据结构
预算法:
数据结构
:数组、链表、栈、队列、散列表、二叉树‘、堆、跳表、图、Tire树 算法: 递归...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章