多掛節點和基礎節點的概念

2021-04-22 23:09:54 字數 1233 閱讀 9062

technorati 標籤:

多掛節點,

樹類,vba

出處:http://blog.csdn.net/slowgrace/archive/2008/12/08/3478520.aspx

1.多掛節點的概念

同乙個節點可能掛在同一棵樹的多個位置上,比如,「西葫蘆炒牛肉」有可能掛在蔬菜分類下,也可以掛在肉類分類下,我們稱這種節點為同樹多掛節點;另外,同乙個節點也可能掛在多棵樹下,比如,乙個時間記錄既可以掛在專案樹下作為專案的最小任務單元,也可以掛在活動樹下作為時間統計的最小單元,我們稱這種節點為異樹多掛節點。多掛節點可以掛在多棵樹下,我們稱多掛節點有多個東家,每個東家就是一棵樹。

多掛節點的存在,帶來了多樹聯動問題。所謂多樹聯動,指的是,當一棵樹上的多掛節點被刪改拖拽時,該節點的所有東家樹也要做相應變動。可以用事件機制來解決多樹聯動問題。

多掛節點不光會引起多樹聯動問題,實際上它還會帶來一系列新的「科研專案」,比如……

2.基礎節點的概念

基礎節點是這樣的節點:它們多半是基礎資料,是永遠不會刪除的資料,是日積月累的資料,比如:timetrack中的一條條activity記錄;理財軟體中的一條條帳目;資訊管理軟體中的一篇篇文章。它們可以被多種不同的樹網羅,作為它們的葉子節點,它們是最底層的非抽象節點。它們有時候是多掛的,有時候不是多掛的,但他們永遠是葉子節點,大部分情況下是不需刪除的節點。它們存在的意義就在於給各種統計提供最基礎的資訊,它們最忠實地、無鉅細地、流水帳似地記錄整個事務的發展過程。

3.與多掛節點和基礎節點相關的資料結構

判斷乙個節點是否基礎節點,最準確的方法是到tblfundtable表裡看看有沒有這個節點的細節表名。

和基礎節點不同的是,多掛節點不是整表標識的,也就是同乙個細節表裡,可能有的節點是多掛的,有的不是,要由使用者來指定。所以,判斷乙個節點是否多掛節點,最準確的方法是遍歷所有樹表,看看自己是否多掛。這顯然工作量太大了,乙個解決方案是在某個表裡安排乙個字段指示該節點是否多掛。這個字段可以安排在節點表裡,也可以安排在節點細節表裡。對於多掛節點而言,如果這個字段安排在節點表裡,就存在資訊冗餘(因為該節點要掛在多個地方),所以把這個字段安排在節點細節表裡。

更多

樹類文章

TreeView的子節點和父節點級聯選中

來自 http blog.sina.com.cn s blog 4979b49e0100aq29.html 選中父節點,其所有子節點也選中 private void setchildchecked treenode parentnode 選中子節點,其父節點也選中 private void setp...

jquery獲取子節點和父節點的例子

獲取子節點和父節點的方法有很多,本文介紹下jquery中時如何實現的。一 獲取子節點 比如是乙個 id 為 test 的 div元素,我們這樣選中,test 我們要查詢這個div下的乙個class為demo的span元素,有一下幾種方法 1 使用篩選條件 test span.demo 2 使用fin...

1315 祖父節點值為偶數的節點和

分成兩部分,1.遍歷 2.把偶數節點的子節點的子節點的值加上去 遍歷所有節點,判斷節點是否偶數值,如果是,則呼叫第二部分,把孫子的值加起來。mode 0表示遍歷,1表示位於偶數節點的兒子,2表示偶數節點的孫子 definition for a binary tree node.struct tree...