專利名稱:一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)處理領(lǐng)域,尤其涉及一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的 方法、裝置、系統(tǒng)及設(shè)備。
背景技術(shù):
行政組織關(guān)系,可以用樹來表示,全部的組織構(gòu)成一顆組織樹,組織樹上 的節(jié)點(diǎn)代表整個(gè)組織下的一個(gè)組織,組織樹的根代表整個(gè)組織最高的行政組織。 但是有些時(shí)候只需要考慮整個(gè)組織中部分組織的結(jié)構(gòu)、層級(jí)關(guān)系,例如只關(guān)心 某集團(tuán)下幾個(gè)不同部門和組的結(jié)構(gòu)關(guān)系,現(xiàn)有做法需要先分別從組織樹的根開 始向下遍歷各節(jié)點(diǎn),直至找到代表相應(yīng)各組織的節(jié)點(diǎn),才能得到所需要考慮的 這部分組織的結(jié)構(gòu)、層級(jí)關(guān)系。這樣,每次用的時(shí)候都要遍歷一次,速度慢、 效率低。當(dāng)組織有幾千個(gè),而關(guān)心的只是最下面的兩個(gè)葉子節(jié)點(diǎn)時(shí),采用現(xiàn)有 方法每次都遍歷一次樹的代價(jià)就非常大。
綜上所述,現(xiàn)有技術(shù)沒有提供根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法,而是 在每次需要節(jié)點(diǎn)集合中節(jié)點(diǎn)的關(guān)系時(shí)都要遍歷一次樹,速度慢、效率低。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法, 旨在解決現(xiàn)有技術(shù)沒有提供根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法,而是在每次 需要節(jié)點(diǎn)集合中節(jié)點(diǎn)的關(guān)系時(shí)都要遍歷一次樹,速度慢、效率低的問題。
本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的, 一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法,
所述方法包括下述步驟
在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn);以查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,構(gòu)造以節(jié)點(diǎn)集 合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹。
本發(fā)明實(shí)施例的另 一 目的在于提供一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的裝
置,所述裝置包括
節(jié)點(diǎn)查找單元,用于在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的 共有上級(jí)節(jié)點(diǎn);以及
樹構(gòu)造單元,用于以查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān) 系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹。
本發(fā)明實(shí)施例的另一目的在于提供包含上述根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹 的裝置的數(shù)據(jù)處理系統(tǒng)。
本發(fā)明實(shí)施例的另 一 目的在于提供包含上述數(shù)據(jù)處理系統(tǒng)的電子設(shè)備。
在本發(fā)明實(shí)施例中,通過以離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn)為根 節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹,實(shí)現(xiàn)了 一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法,通過所構(gòu)造的樹,可以快速查找節(jié) 點(diǎn)集合中各節(jié)點(diǎn)及其上級(jí)節(jié)點(diǎn)的關(guān)系,速度快、效率高。
圖1是本發(fā)明實(shí)施例提供的才艮據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法的實(shí)現(xiàn)流
程圖2是本發(fā)明實(shí)施例提供的樹的結(jié)構(gòu)示意圖3是本發(fā)明實(shí)施例提供的根據(jù)節(jié)點(diǎn)集合構(gòu)造的節(jié)點(diǎn)關(guān)系樹的結(jié)構(gòu)示意
圖4是本發(fā)明實(shí)施例提供的根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的裝置的結(jié)構(gòu)
圖5是本發(fā)明實(shí)施例提供的樹構(gòu)造單元的結(jié)構(gòu)圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí) 施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明實(shí)施例中,通過以離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn)為根 節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹。
圖1示出了本發(fā)明實(shí)施例提供的根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法的實(shí)
現(xiàn)流程,詳述如下
在步驟S101中,在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有 上級(jí)節(jié)點(diǎn);
在步驟S102中,以查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,
構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹。
其中,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹的步驟具體為;
步驟1 .判斷節(jié)點(diǎn)集合中的各節(jié)點(diǎn)或節(jié)點(diǎn)集合中各節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)是否是根
節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn);
步驟2.如果節(jié)點(diǎn)集合中的節(jié)點(diǎn)或節(jié)點(diǎn)集合中節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)是根節(jié)點(diǎn)的下 級(jí)節(jié)點(diǎn),則將相應(yīng)節(jié)點(diǎn)添加到根節(jié)點(diǎn)下的相應(yīng)位置,否則不做任何操作。
下面具體說明本發(fā)明實(shí)施例提供的根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法的 處理流程,假如存在圖2所示的樹,節(jié)點(diǎn)集合為(F、 E、 K、 G}。
其中,步驟S101,在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共 有上級(jí)節(jié)點(diǎn)的步驟具體為
步驟l.獲取節(jié)點(diǎn)集合中各節(jié)點(diǎn)的長編碼;
步驟2.比較節(jié)點(diǎn)集合中各節(jié)點(diǎn)長編碼,得到長編碼交集,以所述長編碼交 集對(duì)應(yīng)的節(jié)點(diǎn)為節(jié)點(diǎn)集合中各節(jié)點(diǎn)的共有上級(jí)節(jié)點(diǎn)。
在本發(fā)明實(shí)施例中,樹中各節(jié)點(diǎn)的節(jié)點(diǎn)編碼都是唯一的。如圖2中所示的 樹,A、 B、 C等字母即為樹中各節(jié)點(diǎn)的節(jié)點(diǎn)編碼。由父節(jié)點(diǎn)的長編碼和本節(jié)點(diǎn)的節(jié)點(diǎn)編碼構(gòu)成本節(jié)點(diǎn)的長編碼,樹中各節(jié)點(diǎn)的長編碼都是唯一的,如圖2中 所示的樹,A的長編碼就是A, B的長編碼就是A!B,依次類推得F的長編碼 是A舊!D!F, H的長編碼就是A!B!H。這樣,由節(jié)點(diǎn)的長編碼就可以知道該節(jié) 點(diǎn)有多少個(gè)上級(jí)節(jié)點(diǎn)等信息, 一顆樹中只有根節(jié)點(diǎn)的長編碼與節(jié)點(diǎn)編碼是相同 的。節(jié)點(diǎn)集合(F、 E、 K、 G〉中,F(xiàn)的長編碼是A舊!D!F, E的長編碼是A!C!E, K的長編碼是A!C! K, G的長編碼是A! G。當(dāng)然,各節(jié)點(diǎn)長編碼的表現(xiàn)形式可 以根據(jù)需要進(jìn)行調(diào)整,中間的"!,,可以用其他符號(hào)或形式等表示。
這里,存儲(chǔ)的節(jié)點(diǎn)關(guān)系可以為各節(jié)點(diǎn)的長編碼,比較節(jié)點(diǎn)集合(F、 E、 K、 G〉中各節(jié)點(diǎn)的長編碼即可得到其交集為A,那么A節(jié)點(diǎn)即為離該節(jié)點(diǎn)集合中各
節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn)。
接著,以A節(jié)點(diǎn)為根,根據(jù)節(jié)點(diǎn)集合(F、 E、 K、 G》中各節(jié)點(diǎn)的長編碼將 相應(yīng)節(jié)點(diǎn)添加到樹中。這里F的長編碼為A舊!D!F,判斷得到A下面是B,則 將相應(yīng)的B節(jié)點(diǎn)添加為A節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn)。接著判斷得到B下面是D,則將D 節(jié)點(diǎn)添加為B節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn)。繼續(xù)判斷得到D下面是F,則將F節(jié)點(diǎn)添加為 D節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn)。完成后,繼續(xù)判斷其他E、 K、 G節(jié)點(diǎn)的長編碼,才艮據(jù)判斷 結(jié)果將相應(yīng)節(jié)點(diǎn)添加到樹中。完成后,得到的樹即為根據(jù)節(jié)點(diǎn)集合(F、 E、 K、 G〉構(gòu)造的節(jié)點(diǎn)關(guān)系的樹,如圖3所示。
當(dāng)然,如果存儲(chǔ)的節(jié)點(diǎn)關(guān)系不是各節(jié)點(diǎn)的長編碼,則先根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān) 系為各節(jié)點(diǎn)添加長編碼,然后再進(jìn)行處理。
進(jìn)一步地,節(jié)點(diǎn)編碼可以只是在樹中同一級(jí)別的節(jié)點(diǎn)中唯一,例如,根節(jié) 點(diǎn)下各子節(jié)點(diǎn)的編碼在根節(jié)點(diǎn)下所有子節(jié)點(diǎn)的編碼中唯一,這樣得到的樹中各 節(jié)點(diǎn)的長編碼也在整顆樹中唯一。此時(shí),就必需從各節(jié)點(diǎn)長編碼的第一位開始 比較,得到長編碼交集。
當(dāng)然,除了使用節(jié)點(diǎn)的長編碼,還可以采用其他方法查找離節(jié)點(diǎn)集合中各 節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn),例如,根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,從下向上查找節(jié)點(diǎn)集 合中各節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn),找到的第一個(gè)上級(jí)節(jié)點(diǎn)即為所需的離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn)。
有些時(shí)候需要從根節(jié)點(diǎn)開始一層層向下構(gòu)造與所選節(jié)點(diǎn)相關(guān)的樹,為了滿 足該需要、節(jié)約處理操作、提高效率,過濾樹中暫時(shí)不需要添加的節(jié)點(diǎn),作為 本發(fā)明的一個(gè)優(yōu)選實(shí)施例,上述構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹的步驟
具體為
步驟l.接收所構(gòu)造的樹中當(dāng)前擁有節(jié)點(diǎn)的節(jié)點(diǎn)選擇信息; 在一開始,所構(gòu)造的樹中只有根節(jié)點(diǎn),接收的節(jié)點(diǎn)選擇信息只能是根節(jié)點(diǎn) 選擇信息。
步驟2.在節(jié)點(diǎn)集合中的節(jié)點(diǎn)或節(jié)點(diǎn)集合中節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)中查找所選節(jié)點(diǎn) 的子節(jié)點(diǎn),并將查找到的子節(jié)點(diǎn)添加到所選節(jié)點(diǎn)下。
在本發(fā)明實(shí)施例中,假設(shè)節(jié)點(diǎn)集合是(B、 C},找到的離B、 C節(jié)點(diǎn)最近的 共有上級(jí)節(jié)點(diǎn)是A節(jié)點(diǎn),那么所構(gòu)造的樹以A節(jié)點(diǎn)為根節(jié)點(diǎn),當(dāng)用戶選擇A 節(jié)點(diǎn)時(shí),在節(jié)點(diǎn)集合(B、 C)中的節(jié)點(diǎn)或其上級(jí)節(jié)點(diǎn)中查找A節(jié)點(diǎn)的子節(jié)點(diǎn)就是 B、 C節(jié)點(diǎn),則將B、 C節(jié)點(diǎn)添加到A節(jié)點(diǎn)下。這里,雖然G節(jié)點(diǎn)也是A節(jié)點(diǎn) 的子節(jié)點(diǎn),但是因?yàn)镚節(jié)點(diǎn)即不存在于節(jié)點(diǎn)集合(B、 C)中的節(jié)點(diǎn),也不是B、 C節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn),所以不會(huì)將G節(jié)點(diǎn)添加到A節(jié)點(diǎn)下,此時(shí)所構(gòu)造的樹只包 含A、 B、 C節(jié)點(diǎn)。
圖4示出了本發(fā)明實(shí)施例提供的根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的裝置的結(jié) 構(gòu),為了便于說明僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。
該根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的裝置可以用于數(shù)據(jù)處理系統(tǒng),例如行政 組織管理系統(tǒng)、組織權(quán)限管理系統(tǒng)等,這些數(shù)據(jù)處理系統(tǒng)可以裝載于電子設(shè)備, 例如計(jì)算機(jī)、移動(dòng)電話、個(gè)人數(shù)碼助理(Personal Digital Assistant, PDA)等電 子設(shè)備等。該根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的裝置可以是運(yùn)行于這些數(shù)據(jù)處理 系統(tǒng)內(nèi)的軟件單元、硬件單元或者軟硬件相結(jié)合的單元,也可以作為獨(dú)立的掛 件集成到這些電子設(shè)備中或者運(yùn)行于這些電子設(shè)備的應(yīng)用系統(tǒng)中,其中
節(jié)點(diǎn)查找單元401,在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn)。
樹構(gòu)造單元402,以查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān) 系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹。 其中,節(jié)點(diǎn)查找單元401包括
長編碼獲^Mt塊4011,獲取節(jié)點(diǎn)集合中各節(jié)點(diǎn)的長編碼,其實(shí)現(xiàn)方式如上 所述,不再贅述。
節(jié)點(diǎn)確認(rèn)模塊4012,比較節(jié)點(diǎn)集合中各節(jié)點(diǎn)長編碼,得到長編碼交集,以 所述長編碼交集對(duì)應(yīng)的節(jié)點(diǎn)為節(jié)點(diǎn)集合中各節(jié)點(diǎn)的共有上級(jí)節(jié)點(diǎn)。 樹構(gòu)造單元402包括
判斷模塊4021,以查找單元401查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存 儲(chǔ)的節(jié)點(diǎn)關(guān)系,判斷節(jié)點(diǎn)集合中的各節(jié)點(diǎn)或節(jié)點(diǎn)集合中各節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)是否 是根節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn)。
第一節(jié)點(diǎn)添加模塊4022,在節(jié)點(diǎn)集合中的節(jié)點(diǎn)或節(jié)點(diǎn)集合中節(jié)點(diǎn)的上級(jí)節(jié) 點(diǎn)是4艮節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn)時(shí),將相應(yīng)節(jié)點(diǎn)添加到#^節(jié)點(diǎn)下的相應(yīng)位置;否則,不 做任何操作,其實(shí)現(xiàn)方式如上所述,不再贅述。
有些時(shí)候需要從根節(jié)點(diǎn)開始一層層向下構(gòu)造與所選節(jié)點(diǎn)相關(guān)的樹,為了滿 足該需要、節(jié)約操作、提高效率,過濾樹中暫時(shí)不需要添加的節(jié)點(diǎn),作為本發(fā) 明的一個(gè)優(yōu)選實(shí)施例,如圖5所示,樹構(gòu)造單元402包括
接收模塊4023,接收所構(gòu)造的樹中當(dāng)前擁有節(jié)點(diǎn)的節(jié)點(diǎn)選擇信息。
第二節(jié)點(diǎn)添加模塊4024,在節(jié)點(diǎn)集合中的節(jié)點(diǎn)或節(jié)點(diǎn)集合中節(jié)點(diǎn)的上級(jí)節(jié) 點(diǎn)中查找所選節(jié)點(diǎn)的子節(jié)點(diǎn),并將得到的子節(jié)點(diǎn)添加到所選節(jié)點(diǎn)下。
在本發(fā)明實(shí)施例中,通過以離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn)為才艮 節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹,實(shí)現(xiàn)了 一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法,通過所構(gòu)造的樹,可以快速查找節(jié) 點(diǎn)集合中各節(jié)點(diǎn)及其上級(jí)節(jié)點(diǎn)的關(guān)系,速度快、效率高。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上迷實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以在存儲(chǔ)于一計(jì)算機(jī)
可讀M"儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如ROM/RAM、磁盤、光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明 的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法,其特征在于,所述方法包括下述步驟在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn);以查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹。
2、 如權(quán)利要求l所述的方法,其特征在于,所述構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為 葉子節(jié)點(diǎn)的樹的步驟具體為判斷節(jié)點(diǎn)集合中的各節(jié)點(diǎn)或節(jié)點(diǎn)集合中各節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)是否是根節(jié)點(diǎn)的 下級(jí)節(jié)點(diǎn);如果節(jié)點(diǎn)集合中的節(jié)點(diǎn)或節(jié)點(diǎn)集合中節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)是根節(jié)點(diǎn)的下級(jí)節(jié) 點(diǎn),則將相應(yīng)節(jié)點(diǎn)添加到根節(jié)點(diǎn)下的相應(yīng)位置。
3、 如權(quán)利要求l所述的方法,其特征在于,所述在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找 離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn)的步驟具體為獲取節(jié)點(diǎn)集合中各節(jié)點(diǎn)的長編碼;比較節(jié)點(diǎn)集合中各節(jié)點(diǎn)長編碼,得到長編碼交集,以所述長編碼交集對(duì)應(yīng) 的節(jié)點(diǎn)為節(jié)點(diǎn)集合中各節(jié)點(diǎn)的共有上級(jí)節(jié)點(diǎn)。
4、 如權(quán)利要求l所述的方法,其特征在于,所述構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為 葉子節(jié)點(diǎn)的樹的步驟具體為接收所構(gòu)造的樹中當(dāng)前擁有節(jié)點(diǎn)的節(jié)點(diǎn)選擇信息;在節(jié)點(diǎn)集合中的節(jié)點(diǎn)或節(jié)點(diǎn)集合中節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)中查找所選節(jié)點(diǎn)的子節(jié) 點(diǎn),并將查找到的子節(jié)點(diǎn)添加到所選節(jié)點(diǎn)下。
5、 一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的裝置,其特征在于,所述裝置包括 節(jié)點(diǎn)查找單元,用于在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn);以及樹構(gòu)造單元,用于以查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹。
6、 如權(quán)利要求5所述的裝置,其特征在于,所述節(jié)點(diǎn)查找單元包括 長編碼獲^Mt塊,用于獲取節(jié)點(diǎn)集合中各節(jié)點(diǎn)的長編碼;以及 節(jié)點(diǎn)確認(rèn)模塊,用于比較節(jié)點(diǎn)集合中各節(jié)點(diǎn)長編碼,得到長編碼交集,以所述長編碼交集對(duì)應(yīng)的節(jié)點(diǎn)為節(jié)點(diǎn)集合中各節(jié)點(diǎn)的共有上級(jí)節(jié)點(diǎn)。
7、 如權(quán)利要求5所述的裝置,其特征在于,所述樹構(gòu)造單元包括 判斷模塊,用于以所述查找單元查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,判斷節(jié)點(diǎn)集合中的各節(jié)點(diǎn)或節(jié)點(diǎn)集合中各節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)是否 是根節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn);以及第一節(jié)點(diǎn)添加模塊,用于在節(jié)點(diǎn)集合中的節(jié)點(diǎn)或節(jié)點(diǎn)集合中節(jié)點(diǎn)的上級(jí)節(jié) 點(diǎn)是根節(jié)點(diǎn)的下級(jí)節(jié)點(diǎn)時(shí),將相應(yīng)節(jié)點(diǎn)添加到根節(jié)點(diǎn)下的相應(yīng)位置。
8、 如權(quán)利要求5所述的裝置,其特征在于,所述樹構(gòu)造單元包括 接收模塊,用于接收所構(gòu)造的樹中當(dāng)前擁有節(jié)點(diǎn)的節(jié)點(diǎn)選擇信息;以及 第二節(jié)點(diǎn)添加模塊,用于在節(jié)點(diǎn)集合中的節(jié)點(diǎn)或節(jié)點(diǎn)集合中節(jié)點(diǎn)的上級(jí)節(jié)點(diǎn)中查找所選節(jié)點(diǎn)的子節(jié)點(diǎn),并將得到的子節(jié)點(diǎn)添加到所選節(jié)點(diǎn)下。
9、 一種包含權(quán)利要求5至8任一權(quán)利要求所述根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系 樹的裝置的數(shù)據(jù)處理系統(tǒng)。
10、 一種包含權(quán)利要求9所述數(shù)據(jù)處理系統(tǒng)的電子設(shè)備。
全文摘要
本發(fā)明適用于數(shù)據(jù)處理領(lǐng)域,提供了一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法、裝置、系統(tǒng)及設(shè)備,所述方法包括下述步驟在存儲(chǔ)的節(jié)點(diǎn)關(guān)系中查找離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn);以查找到的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹。在本發(fā)明中,通過以離節(jié)點(diǎn)集合中各節(jié)點(diǎn)最近的共有上級(jí)節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)關(guān)系,構(gòu)造以節(jié)點(diǎn)集合中節(jié)點(diǎn)為葉子節(jié)點(diǎn)的樹,實(shí)現(xiàn)了一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹的方法,通過所構(gòu)造的樹,可以快速查找節(jié)點(diǎn)集合中各節(jié)點(diǎn)及其上級(jí)節(jié)點(diǎn)的關(guān)系,速度快、效率高。
文檔編號(hào)G06F17/30GK101408895SQ20081021722
公開日2009年4月15日 申請(qǐng)日期2008年11月3日 優(yōu)先權(quán)日2008年11月3日
發(fā)明者麗 謝 申請(qǐng)人:金蝶軟件(中國)有限公司