使用数组存储k-ary树

时间:2018-05-10 14:28:56

标签: arrays data-structures tree

将k-ary树作为数组存储只有在从左到右用k-children填充每个节点然后再移动到下一个节点时才会起作用?

例如:

<div class="main_container_1">
  <div class="row">
    <div class="image_cell">
      <img src="http://placehold.it/450x200">
    </div>
    <div class="image_cell">
      <img src="http://placehold.it/200x200">
    </div>
    <div class="text-cell">
      <div class="inner">
        text
      </div>
    </div>
  </div>

可以存储为如下所示的数组:

        1
      / | \
    2   3   4
  / | \
 5  6  7

任何父母都可以通过索引/ k找到。

但是,对于相同的数据,但存储为:

[X,1,2,3,4,5,6,7]
 0 1 2 3 4 5 6 7

7作为3索引的孩子不再有效。

此外,一般情况下,兄弟姐妹在当前节点的+ - k索引范围内,但如何确保我不会意外访问父/叔叔节点?

0 个答案:

没有答案