什么是外排内排。有什么区别?

thinkboy234 2008-12-13 09:41:40
什么是外排什么是内排?有什么区别呢?
...全文
1764 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lann64 2008-12-15
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 a32132100 的回复:]
外排还要在硬盘内建立程序然后一次一次调用吗?
[/Quote]
外排是指排序硬盘的数据,程序运行当然都是在内存中的了。
thinkboy234 2008-12-13
  • 打赏
  • 举报
回复
外排还要在硬盘内建立程序然后一次一次调用吗?
waizqfor 2008-12-13
  • 打赏
  • 举报
回复
数据结构的知识
“内排序” 整个排序过程都在内存中进行(顾名思义了哈)。例子 插入法:直接插入 交换的冒泡 选择的堆排序等等拉
“外排序”排序过程不仅需要到内存 还要用到外存。例子 最佳归并树...还有几个常用的 想不起来的
Crazying111 2008-12-13
  • 打赏
  • 举报
回复
内排是当要排序数据较少市可以全部读到寄存器内存进行处理的排序, 特点数度快,内存占用大

外排序主要是用于非常大的数据文件,无法全部读入内存,需要借助外部存储(例如硬盘)来进行排序。 它采用分块局部处理,整体归并。因为外部存储读写,比内存要慢得多,因此外部排序不使用常用于内部排序的算法(比如冒泡、快速等等)。最常见的外部排序是归并排序,先把文件数据分成几段(每段可以一次读入内存),分别对每段排序,然后对排好序的段进行归并。 可处理大量数据。
lann64 2008-12-13
  • 打赏
  • 举报
回复
外排序就是跟平常使用的排序(内排序)相对应的叫法,主要是用于非常大的数据文件,无法全部读入内存,需要借助外部存储(例如硬盘)来进行排序。
因为外部存储读写,比内存要慢得多,因此外部排序不使用常用于内部排序的算法(比如冒泡、快速等等)。最常见的外部排序是归并排序,先把文件数据分成几段(每段可以一次读入内存),分别对每段排序,然后对排好序的段进行归并。
jznhljg 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 chenzhiyubuaa 的回复:]
内排序的的记录比较少,可以将全部记录放到内存中排序。
外排序的记录比较多,不能将全部记录放到内存中,排序过程中会有多次的外存访问操作。
区别嘛,个人觉得主要是因为外存访问比较费时。
[/Quote]
嗯 The art of computer programming 的第三卷 专门讲排序与查找 里面是这么说的
下面这个是WIKI上的..http://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95
thinkboy234 2008-12-13
  • 打赏
  • 举报
回复
怎么着就跟硬件产生关系了?
thinkboy234 2008-12-13
  • 打赏
  • 举报
回复
还是不明白 C还出来外存了?
qq675927952 2008-12-13
  • 打赏
  • 举报
回复
LS 说的对
chenzhiyubuaa 2008-12-13
  • 打赏
  • 举报
回复
内排序的的记录比较少,可以将全部记录放到内存中排序。
外排序的记录比较多,不能将全部记录放到内存中,排序过程中会有多次的外存访问操作。
区别嘛,个人觉得主要是因为外存访问比较费时。
HelloDan 2008-12-13
  • 打赏
  • 举报
回复
http://www.7880.com/Info/Article-572f07e0.html
thinkboy234 2008-12-13
  • 打赏
  • 举报
回复
郁闷。。。。
yurukai 2008-12-13
  • 打赏
  • 举报
回复
我也想知道。。。。
twtqe 2008-12-13
  • 打赏
  • 举报
回复
好像数据结构书上有
qap22 2008-12-13
  • 打赏
  • 举报
回复
帮顶
nullah 2008-12-13
  • 打赏
  • 举报
回复
C++中的概念?
没听说过
MARK =人来

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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