对于以下内容,将时间复杂度从n ^ 3降低:

时间:2016-12-06 03:24:11

标签: java xml algorithm xml-parsing time-complexity

<?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次循环 - 提取子组中的标记名称和标记值。

0 个答案:

没有答案