<?xml version="1.0" encoding="UTF-8"?>
<Module name="Data">
<Group name="PAR">
<HEALTHSTATUS>OK</HEALTHSTATUS>
</Group>
<Group name="SYSTEM">
<Group name="BIOS INFO">
<VENDOR>HEWLETT-PACKARD</VENDOR>
<VERSION>J63 V02.55</VERSION>
<RELEASE_DATE>2/7/2013</RELEASE_DATE>
<REVISION>2.55</REVISION>
</Group>
<Group name="SYSTEM INFO">
<MANUFACTURER>HEWLETT-PACKARD</MANUFACTURER>
<PRODUCT_NAME>HP Z820 WORKSTATION</PRODUCT_NAME>
<SERIAL_NUMBER>2UA6100QHT</SERIAL_NUMBER>
<FAMILY>103C_53335X G=D</FAMILY>
</Group>
</Group>
</Module>
我必须提取数据,标签名称和值。我已经编写了解决方案,但希望从立方O(n ^ 3)减少它的时间复杂度。 有人可以用文字写一个伪代码或方法吗?
注意:组中的元素在传递之前是未知的,因此您无法使用@XmlElement在xmlObj模型中对它们进行硬编码。
假设:时间复杂度中的n是组/子组/其他元素的否。如果您不喜欢它,那么您可以将其读作O(l m n)
所需输出: enter image description here
为什么我有n ^ 3时间复杂度? : 第一个循环遍历模块中的所有组。 第二个循环 - 一个组也可以有多个子组,以便迭代它 第3次循环 - 提取子组中的标记名称和标记值。