牛人进,谢谢

community_sky 2009-07-17 05:05:55
多线程的方法进行排序(mergesort) 和 用内存映射(memory mapped)的方法进行排序(mergesort),其中使用多线程的方法.
哪种的效率更高些
要求程序证明,请牛人指教。
...全文
154 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovegjj 2009-07-20
  • 打赏
  • 举报
回复
帮顶下!请各位看下我这问题http://topic.csdn.net/u/20090720/10/ad24f161-717f-4a7f-8f0a-6fbb6155cfcf.html?39353
lovegjj 2009-07-20
  • 打赏
  • 举报
回复
帮顶下!请各位看下我这问题http://topic.csdn.net/u/20090720/10/ad24f161-717f-4a7f-8f0a-6fbb6155cfcf.html?39353
绿色夹克衫 2009-07-20
  • 打赏
  • 举报
回复
不好意思,说的比较模糊,我所说的hash来排序,比较类似于用位图或基数排序。
比如给10000张扑克牌排序的话,可以定义一个长度为54的int数组,来记录每张牌的个数,
然后从0到53按照个数输出每张扑克牌,要比排序一个10000的数组效果好,
如果要排序的是10个0-2^32 - 1的之间的数,用这个方法就显得比较弱了。

[Quote=引用 5 楼 hairetz 的回复:]
没看明白4楼说的,hash也可以用来排序的??
[/Quote]
community_sky 2009-07-20
  • 打赏
  • 举报
回复
请继续讨论
ID大头哈哈 2009-07-18
  • 打赏
  • 举报
回复
内存映射可以免去IO操作
大型文件想追求效率是必须的吧
绿色夹克衫 2009-07-18
  • 打赏
  • 举报
回复
LZ的问题似乎没有确切的结论,不同情况下,答案可能不一样,要根据具体情况而定,hash未必会比普通排序快,反过来普通也未必比hash快

记得网上有关于并行的,用O(1)时间进行排序的文章(假设计算机有无限位),LZ可以搜索一下!
liuxiaobing2008 2009-07-18
  • 打赏
  • 举报
回复
任何排序都不是绝对的效率高,只有在有数据的时候才能进行比较的,或根据人们的经验值得到的一个经验结论
  • 打赏
  • 举报
回复
没看明白4楼说的,hash也可以用来排序的??
community_sky 2009-07-17
  • 打赏
  • 举报
回复
在线等,谢谢。
community_sky 2009-07-17
  • 打赏
  • 举报
回复
在线等,谢谢。
community_sky 2009-07-17
  • 打赏
  • 举报
回复
在线等,谢谢。

33,028

社区成员

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

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