使用遞迴演算法實現樹結構

2021-08-10 01:24:33 字數 611 閱讀 5920

新專案需要用到左側選單欄的遍歷效果

所以自己研究寫了乙個遞迴實現樹結構的工具類

後台正常查詢資料集合,不過因為是樹結構,必須要有關聯關係的字段

**注釋中會寫細節部分,如下:

/*** 遞迴實現樹形工具類

*/public class treeutils

}return returntree;

}/**

* 根據跟節點查詢子節點

* rootnode:根節點

* data:所有資料

*/public static menus findallchildren(menus rootnode, listdata)

/* 遞迴新增子節點 */

rootnode.getchildren().add(findallchildren(children, data));}}

return rootnode;}}

menus泛型為左側選單的集合,對應資料庫中的表

表中必須要有id、name、pid主要字段(其餘欄位按個人需求加)

實體類裡同樣,但要多加乙個listchildren,來作為子節點新增

可以根據最後返回的結果用json測試下看看是不是樹結構型別

使用遞迴方法拼接分類樹結構(二)

上乙個遞迴方法講的是使用遞迴方法查詢所有分類下的文件,這種方式查出來的結果是乙個列表,不便於區分層級關係。今天來講乙個樹結構的拼接方法,也就是通過父id查詢子類,將子類的結果集拼接到父類下面,再查子類的子類,無限的查下去,查到null為止,拼接起來的結果,像一顆樹的結構一樣有粗有細有分支,哈哈 以建...

Python python實現樹結構

樹是我們常見的一種一對多的資料結構。最近為了處理一些事情,寫了一顆三層的樹。每層的子節點數目均不確定,動態新增。為了方便管理,寫成了巢狀樹。class modeltree 第一層樹,建立樹是必須指定根結點,不支援建立空樹。整顆樹儲存在tree dict中,key為root,value為childre...

vue element 實現樹結構

話不多說直接先上圖 allxzlist 這個是獲取的全部的值 props1 這個是我們要展示的模板 defaultcheckedkeys 這個是獲取詳情或者想要設定的預設值 defaultexpandedkeys 這個是獲取詳情或者想要設定的預設值 handlecheckchange data,ch...