1 / 7
文档名称:

二路归并排序的研究.doc

格式:doc   大小:20KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

二路归并排序的研究.doc

上传人:梅花书斋 2023/9/27 文件大小:20 KB

下载得到文件列表

二路归并排序的研究.doc

相关文档

文档介绍

文档介绍:该【二路归并排序的研究 】是由【梅花书斋】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【二路归并排序的研究 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。【doc】二路归并排序的研究
二路归并排序的研究
'
(天津商孚哥系)
}}弓|7/
(天津纺织工军面丽学系)f.
..节彬予核心词三坚,垡,慧竺查焦皇L.,/g?'r ,得到【詈]个长量
;再将d这些
三统计的辅助存储空曲待排记拿二
一排良:二磊l原二路归并排序…一…压……………一 ;将
两个或两',……一
LTJLTjLTJI
LLrJ
L———1.——一
J

统计当作是n个有序的子链表,每个子链表 中只包含一种结点,先将每两个相邻的子链 袁归并,得到[等]个长度为2或l的有序子
链表:再将这些子链表两两归并,如此重复, 直到最后得到一长度为n的有序链表为止. 其中,将两个有序链表归并成一种新的
有序链表的操作,则是以修改指针值替代记 录的移动,并且为了简化操作和节省每个链
表的头指针,将归并后核心字最小的统计移 韧嫱状态r|

趟归并之后rs
二趟归并之后I毫
三趟归并之后
动至该段教组的第一种分量中. TYPEred=RECORD key:keytype;『核心字}
otheritem:anytype;i其它数
据项}
next:intege~{指针域}
ENDi
stli~ttp=ARRAY[1..n]OFred;
VARrs:;
下面给出新二路归并排序过程如表2所 示
寰2折=踌归并捧序示饿
1234567
I51I25578274IlOI5 —
uLL丁j
.
IL
l26I516782lOI74} —17}一I?
襄2=苷归并捧序示倒
下面用类PASCAL语言描述上述新二路归并捧序的过程,如算法(a).(b),(c)所示o
PROCmerge(VARrs:stlisttp;1,m,n:INTBGER):
(已知待归并的两有序链表分别寄存在rs【l-.m]和r喜[m+1..n】中,它们的第一种
结点分别存
放在1]和rs【m+1]中,本算法将它们归并为一种新的有序链表并寄存在rs【1..n]
中,该链
表的第一种结点寄存在1]中.}
n:=1;f2:m+1:jn,忽分别批示两有序链表的第一十结点I last:=1;Ilast批示新有序链表的最后一十结点f
IF[fl】.kets[】.kqTHEN.
41
mEf1]一r3【f2】;fl~f2:{交换统计并交换头指针} f2:=巧[f2].Ixext;{f2批示第二十有序链表的下一种结点} ELSE
n:;rs[f1],Ilext:{n批示第一种有序链表的下一种结点} WHILE(n()一1)and(f2()一1)DO
rs[n],key(=rs[f2],keyTHEN [rs[1ast].Ixext:=f1;last:=n:{将第一种链表的目前结点链人新键表 n:=rsEf1].~text]
]
ELSE
[rsFlast].next:/2;last:/2;j将第二个链表的目前结点链人新链表} f2:rs[f2].Ixext];
IFn<)一1THENrs[1est].Iaext:=fl; IFf2()一1THENrs[~t].1~Xt:=/2 {将rs[1..m]或rs[-m+1..n]中的多出统计链人有序链表} ENDP:
算法(a)两组归并
PROCmorgrpass(VARrs:stllsttp;11:INTEGER):
,本算法是通过一遍扫描,将rs中前后相邻且长度为11的有序链表进行两两归并,得到前后相
邻且长度为2ll的有序链表},
i:=1:
WHILEi(IX-2*11+1DO
[merge(rs,i,i+,i+2*11—1);
i:=i+2*11
];
IFi(n一11+1THENmerge(,i+I1—1,n)
ENDP;
算法(b)一趟归并
PROCmergsort(VARrs:stlisttp): {规定事先将rs【][1..n]中统计进行新二路
归并排序,得到一长度为n的有序链表,该链表的第一种结点寄存在rs[1]中} 11:=1:
REPEAT
m~():
11:2-ll
UNTIL11)=111
ENDP:算法(c)新二路归并排序
以上捧序的成果只是求得了一种有序链表,
42

:次序


法可查阅参考文献1,从该算法可得重捧记 录至多蒉进行了3(n一1)欢统计的移动,所 录的辅助存储空间.
3分析与比较
路归并排序的基本操作和原二路归并捧序基 本相似,仍是将两个相邻的有序序列归并成 一
针值替代统计的移动,并且每个链表不蒉附 两种排序算法进行分析和比较.
【l口bn]趟归并,每趟归并所蒉移动统计次数 为n; 以,原二路归并排序至多蒉移动统计nlogzn +(~og,n). 新二路归并排序也蒉进行[Ioe~n]趟归 【昔](其中i=i,2,…….【logan]).此排序a 过程至多蒉移动统计3(n一1)(=詈+{+'' 苦+……+1)欢; 录次数至多为3(n一1).因此,整个新二路 归并排序至多蒉移动统计6(n一1) 当n?2时,新二路归并排序将比原二路归 于排序过程中核心字间的比较次数不变,则 新二路归并捧序的时间复杂度仍为O ()o
从空间上看,原二路归并排序需n个记


捧序比原二路归并排序节省了n一1个统计
的辅助存储空间另外,新二路归并排序由

指针域的空间.
4结束语
本文提出了一种新二路归并排序算法.
此捧序算法的优越之处就在于它有较高的效

,其优越性更
加明显,但愿读者根据不同状况合适选用.
参考文献
1严蔚敏,吴伟民,数据构造,北京:清华
大学出版社,1992
;.Fundsments]s ofDamSU'uctur~.byPitmanPubIishing .
As1YON2一WAMERGES0RT
HungXi丑l噜LIWamgBtn窖
(Dept,0fComputerInformationEng.) Abstract:Tl~
thatthenewalgorit}unismoree岱cientandsavesnrdsassiststoragespace.
Keywords:|ststoragespace

最近更新

外汇质押人民币借款合同范本 2页

电厂安全教育公开课获奖课件赛课一等奖课件 8页

游戏历史:文化与创新-探索经典游戏的背后故事.. 26页

汽车材料:探索未来-重塑车身材料的创新与应用.. 23页

构建绿色办公室-实现可持续发展与环保目标 25页

大客户销售策略和技巧公开课获奖课件赛课一等.. 51页

新型建筑材料应用研究报告-新型建材实践研究 31页

孩子安全协议租房合同(标准版) 4页

小学三年级数学上学期第一单元测试卷[人教版].. 13页

常用土地出让合同申请公文范例(标准版) 5页

建设工程设计合同范本(标准版) 27页

承办商务会议合同(标准版) 8页

2022年成人高考语文高起点模拟题及答案 3页

人教版小学三年级数学下册《第二单元》测试试.. 4页

土地承包经营权合同生效条件范例(标准版) 5页

小学一年级数学下册期末试卷北师大版 12页

房屋出租协议通用样书(标准版) 9页

最新汽车租赁协议范本(标准版) 26页

有关房屋买卖合同(标准版) 5页

简单的模特肖像权授权书范例(标准版) 5页

网络销售合作协议书(标准版) 8页

装修承包合同范本(可打印实用) 8页

购销合同范本 4页

长期租赁协议(标准版) 9页

高二数学试题及答案 9页

特种设备考试试卷及答案 6页

灾害信息员培训ppt课件 23页

特种设备模拟试题及答案 11页

《托儿所、幼儿园建筑设计规范JGJ-39-2024》 28页

最新铝合金建筑型材(GBT5237-2022)-质量标准 68页