欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法

文檔序號(hào):8285400閱讀:1373來源:國知局
一種快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)歸并方法。更具體地說,本發(fā)明涉及一種快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法。
【背景技術(shù)】
[0002]隨著各路便攜式設(shè)備、智能家居設(shè)備越來越普及,逐漸取代傳統(tǒng)的PC機(jī)改變?nèi)祟惖纳罘绞剑瑪?shù)據(jù)的來源、種類、數(shù)量都在出現(xiàn)爆炸式的增長,信息過載的現(xiàn)象越來越普遍,如何快速、有效的從這些繁雜的數(shù)據(jù)中用戶想要的數(shù)據(jù)是這個(gè)大數(shù)據(jù)時(shí)代迫切需要解決的冋題。

【發(fā)明內(nèi)容】

[0003]本發(fā)明的一個(gè)目的是解決至少上述問題,并提供至少后面將說明的優(yōu)點(diǎn)。
[0004]本發(fā)明還有一個(gè)目的是利用堆排序技術(shù)實(shí)現(xiàn)多路數(shù)據(jù)的歸并,對(duì)于多路的有序數(shù)據(jù)來說,歸并效率更高。
[0005]為了實(shí)現(xiàn)根據(jù)本發(fā)明的這些目的和其他優(yōu)點(diǎn),提供了一種快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法。
[0006]步驟一、收集多路原始數(shù)據(jù)集;
[0007]步驟二、通過計(jì)算機(jī)對(duì)所述多路原始數(shù)據(jù)集利用堆排序技術(shù)進(jìn)行歸并操作;
[0008]步驟三、輸出歸并后的數(shù)據(jù)流。
[0009]優(yōu)選的是,所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法,所述步驟一中,每一個(gè)原始數(shù)據(jù)集內(nèi)的元素呈有序排列。
[0010]優(yōu)選的是,所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法,當(dāng)每路原始數(shù)據(jù)集內(nèi)的元素呈升序排列時(shí),所述歸并操作具體包括以下步驟:
[0011]A、獲取所述原始數(shù)據(jù)集的總路數(shù);
[0012]B、若總路數(shù)為1,則直接輸出該路原始數(shù)據(jù)集內(nèi)的所有數(shù)據(jù),結(jié)束歸并操作;若總路數(shù)不為1,則獲取多路原始數(shù)據(jù)集,并取出每路原始數(shù)據(jù)集內(nèi)的第一個(gè)元素創(chuàng)建初始堆;
[0013]C、調(diào)整所述初始堆為最小堆,輸出堆頂元素;
[0014]D、若堆頂元素所在的原始數(shù)據(jù)集中無數(shù)據(jù),則交換堆頂元素與最后一個(gè)結(jié)點(diǎn),總路數(shù)減I;若堆頂元素所在的原始數(shù)據(jù)集中有數(shù)據(jù),則取出與堆頂元素相鄰的數(shù)據(jù),若該數(shù)據(jù)比堆頂元素的左右孩子都小,則直接輸出該數(shù)據(jù),如此循環(huán),直到取完該路所有數(shù)據(jù)或找到一個(gè)比左右孩子大的數(shù)據(jù);
[0015]E、若在上述步驟D中找到一個(gè)比左右孩子大的數(shù)據(jù),則將該數(shù)據(jù)賦值給堆頂元素,重復(fù)步驟C、D ;
[0016]F、在上述步驟D中,若總路數(shù)減I后為0,則釋放堆空間,結(jié)束歸并操作;若總路數(shù)減I后不為0,則重復(fù)步驟C、D、E、F直到總路數(shù)為O。
[0017]優(yōu)選的是,所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法,當(dāng)每路原始數(shù)據(jù)集內(nèi)的元素呈降序排列時(shí),所述歸并操作具體包括以下步驟:
[0018]A、獲取所述原始數(shù)據(jù)集的總路數(shù);
[0019]B、若總路數(shù)為1,則直接輸出該路原始數(shù)據(jù)集內(nèi)的所有數(shù)據(jù),結(jié)束歸并操作;若總路數(shù)不為1,則獲取多路原始數(shù)據(jù)集,并取出每路原始數(shù)據(jù)集內(nèi)的第一個(gè)元素創(chuàng)建初始堆;
[0020]C、調(diào)整所述初始堆為最大堆,輸出堆頂元素;
[0021]D、若堆頂元素所在的原始數(shù)據(jù)集中無數(shù)據(jù),則交換堆頂元素與最后一個(gè)結(jié)點(diǎn),總路數(shù)減I;若堆頂元素所在的原始數(shù)據(jù)集中有數(shù)據(jù),則取出與堆頂元素相鄰的數(shù)據(jù),若該數(shù)據(jù)比堆頂元素的左右孩子都大,則直接輸出該數(shù)據(jù),如此循環(huán),直到取完該路所有數(shù)據(jù)或找到一個(gè)比左右孩子小的數(shù)據(jù);
[0022]E、若在上述步驟D中找到一個(gè)比左右孩子小的數(shù)據(jù),則將該數(shù)據(jù)賦值給堆頂元素,重復(fù)步驟C、D ;
[0023]F、在上述步驟D中,若總路數(shù)減I后為0,則釋放堆空間,結(jié)束歸并操作;若總路數(shù)減I后不為0,則重復(fù)步驟C、D、E、F直到總路數(shù)為O。
[0024]優(yōu)選的是,所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法,所述原始數(shù)據(jù)集來源于外部文件、其他機(jī)器和內(nèi)存。
[0025]優(yōu)選的是,所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法,當(dāng)外部排序時(shí),所述原始數(shù)據(jù)集從外部文件中獲?。划?dāng)分布式處理時(shí),所述原始數(shù)據(jù)集從網(wǎng)絡(luò)中獲取;當(dāng)單機(jī)內(nèi)存排序時(shí),所述原始數(shù)據(jù)集從內(nèi)存中獲取。
[0026]優(yōu)選的是,所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法,所有路的原始數(shù)據(jù)集內(nèi)的數(shù)據(jù)范圍沒有重合。
[0027]本發(fā)明至少包括以下有益效果:由于采用堆排序技術(shù)來進(jìn)行多路有序數(shù)據(jù)的歸并運(yùn)算,因此能夠有效減少各路數(shù)據(jù)元素間的比較次數(shù),顯著提高歸并運(yùn)算效率。
[0028]本發(fā)明的其它優(yōu)點(diǎn)、目標(biāo)和特征將部分通過下面的說明體現(xiàn),部分還將通過對(duì)本發(fā)明的研宄和實(shí)踐而為本領(lǐng)域的技術(shù)人員所理解。
【附圖說明】
[0029]圖1為歸并操作的總本結(jié)構(gòu)圖;
[0030]圖2說明的是本發(fā)明所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法中原始數(shù)據(jù)集中數(shù)據(jù)呈升序排列時(shí)的多路數(shù)據(jù)歸并的流程示意圖;
[0031]圖3說明的是本發(fā)明所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法中原始數(shù)據(jù)集中數(shù)據(jù)呈降序排列時(shí)的多路數(shù)據(jù)歸并的流程示意圖。
【具體實(shí)施方式】
[0032]下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說明,以令本領(lǐng)域技術(shù)人員參照說明書文字能夠據(jù)以實(shí)施。
[0033]圖1示出了歸并操作的總本結(jié)構(gòu)圖。其中SD1、SD2、SD3、SDN表示N份有序的原始數(shù)據(jù)集,這些數(shù)據(jù)可以在一臺(tái)或多臺(tái)計(jì)算機(jī)的磁盤上或內(nèi)存中,適用于本地與分布式運(yùn)用;Merge表示要進(jìn)行的歸并操作,方向箭頭表示數(shù)據(jù)的流向。
[0034]圖2示出了所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法中原始數(shù)據(jù)集中數(shù)據(jù)呈升序排列時(shí)的多路數(shù)據(jù)歸并的流程示意圖。其中,Y為是,N為否。
[0035]圖3示出了所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法中原始數(shù)據(jù)集中數(shù)據(jù)呈降序排列時(shí)的多路數(shù)據(jù)歸并的流程示意圖。其中,Y為是,N為否。
[0036]如圖1所示,本發(fā)明所述的快速實(shí)現(xiàn)多路數(shù)據(jù)歸并的方法,包括:
[0037]步驟一、收集多路原始數(shù)據(jù)集;
[0038]步驟二、通過計(jì)算機(jī)對(duì)所述多路原始數(shù)據(jù)集利用堆排序技術(shù)進(jìn)行歸并操作;
[0039]步驟三、輸出歸并后的數(shù)據(jù)流。本技術(shù)方案運(yùn)用堆排序的技術(shù)可將數(shù)據(jù)量大、原始數(shù)據(jù)集路數(shù)多的數(shù)據(jù)快速歸并。
[0040]如圖1、2、3所示,每一個(gè)原始數(shù)據(jù)集內(nèi)的元素呈有序排列。在數(shù)據(jù)路數(shù)多的時(shí)候,各路原始數(shù)據(jù)集內(nèi)的元素有序能夠迅速減少元素間的比較次數(shù),達(dá)到高效的目的。
[0041]如圖2所示,當(dāng)每路原始數(shù)據(jù)集內(nèi)的元素呈升序排列時(shí),所述歸并操作具體包括以下步驟:
[0042]A、獲取所述原始數(shù)據(jù)集的總路數(shù);
[0043]B、若總路數(shù)為1,則直接輸出該路原始數(shù)據(jù)集內(nèi)的所有數(shù)據(jù),結(jié)束歸并操作;若總路數(shù)不為1,則獲取多路原始數(shù)據(jù)集,并取出每路原始數(shù)據(jù)集內(nèi)的第一個(gè)元素創(chuàng)建初始堆;
[0044]C、調(diào)整所述初始堆為最小堆,輸出堆頂元素;
[0045]D、若堆頂元素所在的原始數(shù)據(jù)集中無數(shù)據(jù),則交換堆頂元素
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宣汉县| 吴忠市| 潼南县| 青阳县| 石台县| 永春县| 上蔡县| 中西区| 同心县| 庆元县| 康定县| 丹棱县| 巨野县| 白水县| 交口县| 堆龙德庆县| 博罗县| 博乐市| 湘潭县| 同心县| 客服| 盐亭县| 宁国市| 陈巴尔虎旗| 扬州市| 闽侯县| 白银市| 抚宁县| 吉木萨尔县| 康定县| 中宁县| 佳木斯市| 舞阳县| 沙湾县| 宁夏| 嘉黎县| 巴楚县| 青铜峡市| 固原市| 沈丘县| 吴忠市|