勤加練習(xí),必能得心應(yīng)手!不期速成,日拱一卒?!
態(tài)度決定一切
BlogJava
首頁
新文章
新隨筆
聚合
管理
posts - 167, comments - 30, trackbacks - 0
涉及到的算法問題思路
對于梅花雪樹選中節(jié)點的刪除:級聯(lián)刪除該節(jié)點下所有子孫節(jié)點
private
List processGetSysFunPointList(String id, TReqSysDTO sysDTO)
throws
ParseException
{
List rslist
=
new
ArrayList();
//
思路:
//
1,找出當(dāng)前節(jié)點
//
2,找出當(dāng)前節(jié)點的所有直接子節(jié)點
//
3,分別找出每個直接子節(jié)點的直接子節(jié)點
//
4,重復(fù)第3步操作,直至找出當(dāng)前節(jié)點的所有子節(jié)點
//
算法:
//
1,先找出當(dāng)前所有最新版本的節(jié)點,并封裝成Map[pid,vo]數(shù)據(jù)結(jié)構(gòu),以提高算法查找效率。
//
注: 1)封裝時遍歷采用while循環(huán)結(jié)構(gòu)以提高循環(huán)效率。
//
2)封裝時對頂級節(jié)點,即父節(jié)點為空的節(jié)點,不進行封裝處理。
//
3)封裝結(jié)構(gòu)的結(jié)果是:所有的非葉子節(jié)點的ID都包含map的keySet集合中;
//
2,根據(jù)上面的思路寫遞歸算法來求解當(dāng)前節(jié)點的所有子節(jié)點
Map map
=
new
HashMap();
List list
=
this
.myReqSystemFunctionPointDAO.findAll(sysDTO);
if
(list
!=
null
)
{
Iterator itr
=
list.iterator();
while
(itr.hasNext())
{
SysFunTreeNodeVO vo
=
(SysFunTreeNodeVO)itr.next();
//
找出當(dāng)前當(dāng)前節(jié)點
if
(id.equals(vo.getId()))
{
rslist.add(vo);
}
//
封裝Map[pid,vo]數(shù)據(jù)結(jié)構(gòu),供遞歸算法使用
String pid
=
vo.getParentSysFunPointId();
if
(pid
!=
null
&&
!
pid.equals(
""
))
{
//
過濾頂級節(jié)點,頂級節(jié)點無需封裝進map結(jié)構(gòu)
if
(map.containsKey(pid))
{
((List)map.get(pid)).add(vo);
}
else
{
List tmp
=
new
ArrayList();
tmp.add(vo);
map.put(pid, tmp);
}
}
}
}
//
遞歸算法,找出當(dāng)前節(jié)點的所有子節(jié)點
List sons
=
findSons(id, map);
if
(sons
!=
null
)
{
rslist.addAll(sons);
//
添加子節(jié)點
}
return
rslist;
}
public
List findSons(String id,Map srcmap)
{
List rslist
=
new
ArrayList();
if
(id
!=
null
&&
srcmap
!=
null
&&
srcmap.containsKey(id))
{
//
找出id的直接子節(jié)點。注:不是id的所有子節(jié)點,而是其一級子節(jié)點
List sons
=
(List) srcmap.get(id);
if
(sons
!=
null
)
{
rslist.addAll(sons);
//
添加直接子節(jié)點
Iterator itr
=
sons.iterator();
while
(itr.hasNext())
{
//
遍歷添加直接子節(jié)點的所有子節(jié)點
SysFunTreeNodeVO vo
=
(SysFunTreeNodeVO) itr.next();
List sonslist
=
findSons(vo.getId(), srcmap);
rslist.addAll(sonslist);
}
}
}
return
rslist;
}
//封裝成逗號隔開的串保存
String fids = "";
if(filesIdList !=null && filesIdList.size() > 0)
{
for(int i =0;i<filesIdList.size();i++)
{
fids = fids + filesIdList.get(i);
if(filesIdList.size() >1 && i!=filesIdList.size()-1)
{
fids = fids + ",";
}
}
}
posted on 2009-12-04 10:50
David1228
閱讀(311)
評論(0)
編輯
收藏
所屬分類:
算法總結(jié)
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆分類
Andriod(2)
CSS(1)
ES(1)
Hibernate/ibatis(9)
HTML5(1)
J2EE(8)
JAVA(26)
JavaScript(10)
JQuery(13)
JSP、servlet(5)
Linux(26)
Netty(4)
Nginx,Lua(2)
NoSql(1)
Python(2)
Spring(8)
Struts(4)
WebServices
ZK(1)
云計算、虛擬化(12)
其他(5)
動態(tài)語言(4)
奮斗人生(2)
應(yīng)用服務(wù)器(2)
性能優(yōu)化(2)
數(shù)據(jù)庫(12)
正則(1)
算法總結(jié)(1)
線程-模式-設(shè)計(5)
網(wǎng)絡(luò)(1)
隨筆檔案
2017年9月 (1)
2017年8月 (1)
2017年7月 (2)
2017年6月 (2)
2017年5月 (2)
2016年12月 (1)
2016年11月 (1)
2016年7月 (1)
2016年1月 (1)
2015年12月 (1)
2015年10月 (2)
2015年9月 (2)
2015年7月 (1)
2014年12月 (1)
2013年11月 (2)
2013年10月 (2)
2013年9月 (1)
2013年8月 (4)
2013年7月 (5)
2013年6月 (2)
2013年3月 (6)
2013年2月 (1)
2013年1月 (5)
2012年11月 (2)
2012年10月 (4)
2012年8月 (1)
2012年7月 (1)
2012年6月 (2)
2012年3月 (2)
2012年2月 (1)
2012年1月 (3)
2011年11月 (1)
2011年10月 (1)
2011年9月 (6)
2011年8月 (5)
2011年7月 (6)
2011年6月 (5)
2011年5月 (2)
2011年3月 (1)
2011年1月 (2)
2010年12月 (4)
2010年11月 (2)
2010年9月 (13)
2010年8月 (19)
2010年7月 (1)
2010年5月 (1)
2010年1月 (1)
2009年12月 (3)
2009年11月 (2)
2009年8月 (9)
2009年4月 (1)
2009年3月 (1)
2009年1月 (1)
2008年12月 (2)
2008年8月 (2)
2008年7月 (1)
文章檔案
2013年7月 (1)
2010年8月 (1)
2008年12月 (1)
2008年9月 (1)
新聞分類
云計算
新聞檔案
2012年11月 (1)
相冊
收集美圖
收藏夾
lua程序(1)
網(wǎng)絡(luò)相關(guān)(1)
Java
20非常有用的Java程序片段
20非常有用的Java程序片段
Java Map遍歷方式的選擇
Java Map遍歷方式的選擇
Linux知識相關(guān)
inux中增加swap分區(qū)文件的步驟方法
inux中增加swap分區(qū)文件的步驟方法
Spring-remoting使用心得1-RMI
Spring-remoting使用心得1-RMI
virsh管理工具
virsh管理工具
Spring相關(guān)
Restful Spring MVC
Restful Spring MVC
Spring Quartz動態(tài)配置時間
Spring Quartz動態(tài)配置時間
云計算/Linux/虛擬化技術(shù)/
CY12-Q3 OpenStack, OpenNebula,Eucalyptus,CloudStack社區(qū)活躍度比較
CY12-Q3 OpenStack, OpenNebula,Eucalyptus,CloudStack社區(qū)活躍度比較
vpsee 虛擬化技術(shù) 云計算 數(shù)據(jù)中心
很棒的參考學(xué)習(xí)的博客
xen FAQ
http://zhigang.org/files/docbook/xen-faq.html
中國云計算
http://www.chinacloud.cn/default.aspx
以AWS和vCloud為標(biāo)桿看四大開源平臺的定位
以AWS和vCloud為標(biāo)桿看四大開源平臺的定位
友情博客
Veda 原型博客交流
多線程并發(fā)編程
xylz,imxylz的JUC
線程、并發(fā)編程
線程、并發(fā)編程
開源技術(shù)
ICloud云管理詳解架構(gòu)
http://www.javachen.com/2011/07/opennebula-architecture/ ICloud云管理詳解架構(gòu)
Java開源大全
NODEJS 服務(wù)端的javascript
http://cnodejs.org/
開源黃頁-開源博文
開源黃頁-開源博文http://yp.oss.org.cn/software/resource_page.php?cat_id=52
持久層技術(shù)相關(guān)
搜索
積分與排名
積分 - 358681
排名 - 154
最新評論
1.?re: JAVA應(yīng)用CPU占用100%|內(nèi)存泄漏分析總結(jié)
@Jet Mah
這有可能是blogjava網(wǎng)站做了遷移,將圖片數(shù)據(jù)丟了,抽空我重新上傳下。謝謝關(guān)注
--David1228
2.?re: JAVA應(yīng)用CPU占用100%|內(nèi)存泄漏分析總結(jié)
文章中的圖片都無法顯示了
--Jet Mah
3.?re: struts2漏洞版本升級過程
樓主寫的真好,404這個我也遇到了,想知道樓主在登錄頁面都沒打開的情況下是在哪設(shè)置的斷點,怎么分析找到的問題的根本原因的?怎么跟的代碼?
--清澈希望
4.?re: [轉(zhuǎn)] JVM調(diào)優(yōu)總結(jié) + jstat 分析
@shao6254842
深入理解Java虛擬機這本書有對G1收集器的介紹,可以參考下。
--David1228
5.?re: [轉(zhuǎn)] JVM調(diào)優(yōu)總結(jié) + jstat 分析
你好,有沒有介紹G1GC的文章呀?
--shao6254842
閱讀排行榜
1.?詳解Java GC的工作原理+Minor GC、FullGC(33411)
2.?Thrift RPC框架介紹(28338)
3.?Maven及Nexus私服搭建(23743)
4.?struts2漏洞版本升級過程(21754)
5.?Mybatis3.2.1整合Spring3.1(21429)
評論排行榜
1.?struts2漏洞版本升級過程(6)
2.?源代碼分析之HashMap(4)
3.?深入Struts2的配置文件(3)
4.?tomcat-restart shell腳本(2)
5.?JAVA應(yīng)用CPU占用100%|內(nèi)存泄漏分析總結(jié)(2)
Copyright ©2025 David1228 Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
无人在线直播免费观看
|
亚洲国产一区二区a毛片
|
日本XXX黄区免费看
|
国产在线播放线91免费
|
MM1313亚洲国产精品
|
亚洲国产精品综合一区在线
|
中文字幕人成人乱码亚洲电影
|
日本成人免费在线
|
免费精品国产自产拍在线观看图片
|
a级片免费在线播放
|
yy一级毛片免费视频
|
亚洲av无码专区在线观看下载
|
亚洲国产精品综合久久久
|
亚洲AV无码1区2区久久
|
亚洲色婷婷综合久久
|
亚洲AⅤ优女AV综合久久久
|
免费无码成人AV片在线在线播放
|
xxxx日本免费
|
24小时日本电影免费看
|
少妇人妻偷人精品免费视频
|
中文日本免费高清
|
国产中文字幕在线免费观看
|
一个人免费播放在线视频看片
|
九九免费精品视频在这里
|
综合一区自拍亚洲综合图区
|
爱爱帝国亚洲一区二区三区
|
亚洲精品9999久久久久无码
|
亚洲精品无码av片
|
亚洲av永久无码天堂网
|
亚洲国产成人综合精品
|
亚洲AV无码一区二区三区电影
|
亚洲另类无码一区二区三区
|
亚洲大码熟女在线观看
|
亚洲jizzjizz少妇
|
综合偷自拍亚洲乱中文字幕
|
免费很黄无遮挡的视频毛片
|
一区二区三区免费电影
|
国产视频精品免费视频
|
免费无码一区二区三区蜜桃
|
永久免费av无码不卡在线观看
|
久久国产免费福利永久
|