资源描述:
《快速外分类算法设计与分析new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、郑州大学学报自然科学版!∀#年第∃期%&∋()∗+&,−./)0−.&∋∋)1‘「45∃678#2/(31凡快速外分类算法设计与分析何文趋9/310)∗)9∗)∗+4313&,/:;/()∗+<∋1=>3&(;∗+0&(1;.?.≅≅ΒΧΔΑ∗ΕΦΓΗ8≅Γ5Σ1ΒΓΙϑΦΚ8Κ≅Η8Β≅Λ≅ΜΓΝΗΒ86ΧΔϑ≅ΟΦΝΗΓ867ΝΗϑΓΙΠΘΚΗΝΚΝΦ≅Ρ6ΓΘ886ΝΗ88≅Β≅ΗΒ8Δ≅ΦΝΗΝ5Σ7ϑΓΙΒ6ΓΙΓΚΚ6ϑΡϑΓ6ΧϑΟΓΓΓΙΤ≅ΜΓ≅ΗΒ86ΦΝΗΓϑΓΦΓϑΠ≅≅Ν≅Ν二Υ
2、6≅ΜϑΦΒΒΒ5Γςϑ<6ΤΦΝΗ8ΝΗ≅ΦΝΗΩ≅≅Ν≅Μ5>≅ςΛΝΗΡΤΓ67ϑΓΙΠΩΧΔϑΟΓΓϑΠΗΒΚ6ϑΓς,它签6引言数据库文件的分类是数据处理的重要课题之一直接影响数据库的检索效率。目前ΞΨ∃〕,外分类算法中多数采用分类归并方法〔分类归并过程一般先逐段执行内分,,,并根类每次读入内存缓冲区所能容纳的数据选择一内分类算法将数据整理成有序串据,,。归并的散布算法输出这些有序串然后数据在内外存间进行归并以形成一个最终的有序串1,,这种算法除考虑ΖΝ和=Κ∋的均衡利用数据的块因子和缓冲技术以
3、及数据的交换权,。,衡整个算法外还需根据外部设备的台数来选择归并算法对于大型文件产生初始串和归。并过程占用机时是可观的5,本文提出一种快速外分类算法。该算法不必予先产生初始串,调为提高外分类的效率,ΤΤΤ,5用该算法可在外存直接获得分类给果其1ΖΝ次数为&6阶较目前常用算法有较大改进经∃快速外分类算法,。定义若记录输出按文件艺至文件尾的次序则称输出为顺次输出‘。定义,∃若记录输出按文件月至文件首的次序则称输出为逆顺次输出。”,却,设输入文件[的待分类记录数为分类缓冲区可容纳记录数为另设记录缓冲区可存,,。
4、放两个记录分类结果在输出文件厂上、、。上读留Ω∃,算法从尹个记录到分类缓冲区对分类区所有记录按键值进行内分类、。,。、,、∴当[文件未结束从[上读夕两个记录到记录缓冲区]比较分类区和记录区的记录Τ来稿时间!∀#年月∃日姚速外分类算法设计与分析何文趋Σ5∃#。Τ键值,则,,若记录区的记录键值均小于分类区记录最小键值将记录区记录顺次输出到[上转。第∴步若记录区记录键值均大于分类区记录最大键值,则设记录区记录按逆顺次输出到[、上‘。,转第∴步若记录区中的一个记录键值小于分类区记录最小键值另一记录键值大于分类区,,,
5、、,。记录最大键值则将前者顺次输出到[上后者按逆顺次输出到[上转第∴步否则,且另一记录键值小于分类区记若记录区中仅有一个记录键值小于分类区记录最小键值录最,,,,大键值则将前者按顺次输脚到[6上分类区中最大键值记录按逆顺次输出到[上并,,。将记录区中另一记录置换之再对分类区所有记录内分类后转第∴步若记录区中仅有一记录键值大于分类区记录最大键值,且另一记录链值大于分类区记录最小键值,则将前者按逆顺次输出到[、上,分类区中最小键值记录顺次输出到[,上,并将记,。录区中另一记录置换之再对分类区所有记录内分类后转第∴
6、步,则若记录区中记录键值既不十于分类区记录最小键值又不大于分类区记录最大键值将分类,,,,区最小键值记录按顺次最大键值记录按逆顺次输出到[上并将记录区中记录置换之。再对分类区中记录内分类后转第∴步、。,Τ。Θ厂文牛渝入结束将分类区。个已分类的冠录顺次输出到子上,,、Τ一趟结束保证最后输出到[上的⊥Ν个记录键值大于[中位于其前的记录键值且小于尹。,,中位于其后的记录键值至此最后输出的。个记录定位且将[中剩余未分类记录分成两部分。_、将原输入输出文件交换,再分别对此两部分递归调用、⎯、算法,又把此两部分分成更5,
7、小继续此过呈,直到每部分记录个数小于却,经内分类后渝出到输出文件上,过程终书分止。,。为保持原文件可将原始文件拷具55555·’,,5555555、,α!∀Θβ,,,,,例给定了⎯尸#∴Θ_]∴β#βΘ∀艺了∴户Θ∀_!β∃∀Θ∴∃!#_∃,。,。为简化说明输入文件均设[输出文件为厂。算法执行过程女「表所示。”,分类招,为块数则互∴算法分析定理设文件记录数为区可存个记示⎯Ν。,快速外分类算法1Ζ次数为&动6乙Ε∴,留,;证明调用快速外分类算法每趟至多个记录定位设即7Ε为‘块记录分类所需的平。,均1Ζ
8、次数5555。χ,5、χχ、二,、χχ,Τ。ΛΗ,χ6一Τχ,则;8,7Ε二‘气蕊+ϑ“,7吸夕一夕δϑ8岁吕+夕一了%十一丁丁一+」8ε召钾夕十6Δ、口一#声%枯,柑Γ5∃∀。郑州大学学报〔自然科学版了。∀了年第∃期‘一“‘’一“一厂口抓厂万一洋二蕊奋一廖⋯一一一公一劣一万不一5χΣχχ一ΣΣγΣχχχχ∴∀Σχχχ卫−旦五日!旦旦塑φΩ里全到Ω全三⋯一匕巴χ一一χχ一一一一∀子Ω_!Θβ_