Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中插入n子树_Python_Algorithm_Tree_Insertion - Fatal编程技术网

在Python中插入n子树

在Python中插入n子树,python,algorithm,tree,insertion,Python,Algorithm,Tree,Insertion,我正在尝试为旅行推销员问题实现一个树。我的特定树有5个相互完全连接的目的地 其中一个目的地保证始终是起始目的地,除必须返回的起始目的地外,您只允许访问每个目的地一次(即如果您有[1,2,3,4,5]和1起始目的地,则可能的移动顺序为1-3-5-2-4-1) 我尝试用下面的代码在python中实现一个树(我强迫它,因为我知道最大深度是5) “我的根”和“第一级”的填充正确,但“第二级”、“第三级”、“第四级”和“第五级”的所有子节点的填充与“第一级”完全相同。当我检查它们的内存时,它们都填充了完全

我正在尝试为旅行推销员问题实现一个树。我的特定树有5个相互完全连接的目的地

其中一个目的地保证始终是起始目的地,除必须返回的起始目的地外,您只允许访问每个目的地一次(即如果您有[1,2,3,4,5]和1起始目的地,则可能的移动顺序为1-3-5-2-4-1)

我尝试用下面的代码在python中实现一个树(我强迫它,因为我知道最大深度是5)

“我的根”和“第一级”的填充正确,但“第二级”、“第三级”、“第四级”和“第五级”的所有子节点的填充与“第一级”完全相同。当我检查它们的内存时,它们都填充了完全相同的内存空间,我不知道为什么。当以下代码行运行时会发生这种情况:

x.insert(1400, "Port Elizabeth")
尽管只有5个条目,但由于某种原因,树此时已完全填充

起初我试着使用指针,但同样的问题突然出现了

长话短说,当深度增加时,如何将n插入到一棵n元树中,并使n减少

此特定树具有以下属性:

  • 根节点:每个节点有4个子节点(1个节点有4个子节点)
  • 级别1:每个节点3个子节点(4个节点和3个子节点)
  • 级别2:每个节点2个子节点(12个节点,其中2个子节点)
  • 级别3:每个节点1个子节点(24个节点,1个子节点)
  • 级别4:每个节点1个子节点(24个节点,1个子节点)(这是TSP中的最终目的地)
x.insert(1400, "Port Elizabeth")