擅长:python、mysql、java
<p>一个表示树的即席POD(“普通旧数据”)类就可以了,类似于:</p>
<pre><code>class Location(object):
def __init__(self, data, parent)
self.data = data
self.parent = parent
self.children = []
</code></pre>
<p>现在分配/读取<code>data</code>属性,或添加/删除子级,可能使用helper方法:</p>
^{pr2}$
<p>现在,要真正地将数据划分为树级别,一个简单的算法是查看具有公共级别数据的所有位置(如非洲),并为它们分配一个位置,然后递归地为下一个级别的数据分配位置。在</p>
<p>因此,对于非洲,您可以使用data=Africa创建一个位置。然后,它将有一个定位子对象用于北非、西非等。在</p>
<p>对于“获取代码”,有一个字典将每个国家映射到其位置节点,并使用节点中的父链接。在每个级别从节点遍历到顶部(直到parent为None),将代码的一部分指定为父级的子列表中的索引。在</p>