历史百科网

排序

[拼音]:paixu

[外文]:sorting

将文件中的各个记录按关键字值(见数据查找)的递升或递降次序重新排列成为一个新的记录序列,这是数据处理的一项基本功能。经过排序的文件便于分类比较或进一步处理。例如,对于一个未经排序的文件,在查毕整个文件之前不能判定某个给定的关键字值确实不在该文件中。组织排序之后,则无需查毕整个文件就能作出这一判断。排序是数据处理,特别是批处理任务中最常用的操作之一。对计算机内存储器中的记录进行排序称为内排序。对存储在外部设备中的文件记录排序称为外排序,外排序需要以内存储器作为过渡介质来进行。

内排序

常用的内排序有三种算法。

(1)线性查找排序算法 以线性查找法为基础的排序算法。在内存储器中确定一个与被排序文件同样大小的区域作为新区,用线性查找法在原文件中找出具有小(或较大)关键字值的记录,放入新区第一记录位置,再从原文件中找出第二个小(或较大)关键字值的记录,放入新区第二个记录位置。重复上述过程,直至原文件中所有记录都已放入新区为止。这种算法简单,但效率很低,只适于对少量记录的排序。

(2)互换排序算法 对原文件中不合指定顺序的两相邻记录互换位置。有三种互换算法。a.线性查找互换算法:将第一记录逐一与其后面的记录比较,并与较小关键字值的记录互换,结果使小关键字值的记录处于第一记录位置。然后从第二记录开始,重复上述过程,使第二小关键字值记录处于第二记录位置。如此继续,直到关键字值较大的记录处于之后记录位置为止。b.相邻比较互换算法:将相邻记录比较,并按指定次序互换其位置。第一个记录和第二个记录比较,第二个和第三个比较,直到倒数第二个和之后一个比较。从头到尾算完一遍,然后进行第二遍,直至某一遍没有一个比较需要互换位置时为止。c.起泡互换排序算法:首先将第二个记录与第一个记录比较,必要时互换。然后将第三个记录与第二个记录比较,必要时互换。若互换,则新的第二个记录与第一个记录比较,必要时互换。第三个记录再与第二个记录比较,重复上述过程。使一个记录如同起泡一样,上升到适当的位置,在它上面再没有关键字值比它大(或小)的记录。直到之后一个记录经过比较而不再上升为止。

(3)合并排序算法 先将文件中的各个记录分为合乎次序的若干组,然后分别两组两组地合并,使组数减少一半;再如此继续合并,直到全部合为一组为止。

外排序

外排序包括两个步骤。

(1)把要排序的文件中的一组记录读入内存储器的排序区,对读入的记录按上面讲到的内排序法进行排序,排序之后输出到外存储器。重复这一过程,每次一组,直到原文件所有记录被处理完毕。

(2)将上一步分组排好序的记录两组两组地合并排序。在内存容量允许的条件下,每组中包含的记录越大越好,这样可减少合并的次数。

参考文章在总线式网络中,多级多路排序送取方法的基本信息送取机理是什么?自动化为什么说有的蔬菜有抗癌功能?有哪些?排序情况如何?饮食写作必须:熟知百家姓(按比划排序)素材欧洲史上20大酷刑(恐怖程度排序)素材角色姓名大全(按字母排序)素材

严正声明:本文由历史百科网注册或游客用户天成自行上传发布关于» 排序的内容,本站只提供存储,展示,不对用户发布信息内容的原创度和真实性等负责。请读者自行斟酌。同时如内容侵犯您的版权或其他权益,请留言并加以说明。站长审查之后若情况属实会及时为您删除。同时遵循 CC 4.0 BY-SA 版权协议,尊重和保护作者的劳动成果,转载请标明出处链接和本声明内容:作者:天成;本文链接:https://www.freedefine.cn/wenzhan/32557.html

赞 ()
我是一个广告位
留言与评论(共有 0 条评论)
   
验证码: