最近给自己的笔记本装了Ubuntu系统。每次在用 “sudo apt-get install <packages>” 或其他涉及安装软件包命令的时候,总会给出一行提示 “正在分析软件包的依赖关系树”。
本人对这个提示中的“依赖关系树”颇有兴趣。于是决定自己写一个算法来模拟一下这个生成树算法。
1. 用一个xml文件来模拟各个软件包的依赖关系:
1 <?xml version="1.0" encoding="utf-8" ?> 2 <package name="A" id="0"> 3 <package name="B" id="1"> 4 <package name="E" id="4"> 5 <package name="I" id="8"></package> 6 <package name="J" id="9"> 7 <package name="K" id="10"></package> 8 </package> 9 </package> 10 </package> 11 <package name="C" id="2"> 12 <package name="F" id="5"></package> 13 </package> 14 <package name="D" id="3"> 15 <package name="G" id="6"></package> 16 <package name="H" id="7"></package> 17 </package> 18 </package>