無限樹狀結構邏輯

2021-08-25 15:08:32 字數 1638 閱讀 2590

無限樹狀結構邏輯

l應用場景特點

1)

列表(datable

編號

名稱

父編號

id

name

parentid

2)

僅有乙個根節點,每個節點有且只有乙個父節點。

典型的遞迴演算法:

ø

遞迴入口:僅有乙個根節點(根節點編號)。

ø

遞迴迴圈體:每個節點有且只有乙個父節點,子節點是上級節點的子節點,又是下級節點的父節點。(孫又有子,子又有孫,子子孫孫無窮盡)

ø

迴圈出口:不再有子節點。

子節點編號與父節點編號不能相同,不能交叉。

函式

//////

繫結生成乙個有樹結構的下拉列表

//////

datable記錄資料所在的表

///

parentid表中用於標記父記錄的字段

///根節點id第一層記錄的父記錄值(通常設計為0或者-1或者null)用來表示沒有父記錄

///id索引字段,也就是放在dropdownlist的value裡面的字段

///name顯示文字字段,也就是放在dropdownlist的text裡面的字段

///需要繫結的dropdownlist

///用來控制縮入量的值,請輸入-1

private

void maketree(datatable dtnodesets, string strparentcolumn, string strrootvalue, string strindexcolumn, string strtextcolumn, dropdownlist drpbind, int i)

//遞迴結束,要回到上一層,所以縮入量減少乙個單位

i--; }

呼叫方法:

string sql = "select jgdm,jgmc,sjjg from [c_subcompany] order by jgdm ";

system.data.datatable dt = sfs.data.sqlserver.getsingledata.getonlyonedatatable(sql);

maketree(dt, "sjjg", "000000", "jgdm", "jgmc", drp, -1);

Python 無限級分類樹狀結構生成演算法的實現

後端研發的同學對無限級分類肯定映像深刻,當初花了不少時間吧?作者在初次接觸樹狀結構生成需求的時候,也是撓頭,後來找到tngafuvfxy了乙個 少且清晰易懂的生成演算法 遞迴。首先,確保資料庫中儲存的類別資訊如下 字段 parent 記錄的是此條目的父編號,例如電吹風的父編號是 3,即電吹風屬於家用...

sql server樹狀結構

查詢樹狀結構某節點下的所有子節點 with cte child id,areaname,pid,level as 起始條件 select id,areaname,pid,0 as level from erp area where id 1 優先列出第一節點查詢條件 union all 遞迴條件 s...

物理結構 邏輯結構

介質和通道 物理連線方式 拓撲結構 採用拓撲學的方法抽象的網路結構,研究計算機網路中 點 和 線 構成的圖形 的特性 匯流排型 星型 環型 樹型 網狀型 不同的結構對傳輸的影響,優缺點 匯流排型 所有計算機連線到一條共享匯流排。優點 電纜長度短 佈線簡單 傳輸也簡單 廣播 網路早期可以用 缺點 故障...