首页 > 解决方案 > R:如何初始化空二叉树?

问题描述

我想初始化一个具有完整二叉树结构的对象,以便我可以使用它来存储节点值。假设我指定了一个深度为的树d = 3,那么我将在级别 1 有 1 个根节点,在级别 2 有 2 个节点,在级别 3 有 4 个节点。

在此处输入图像描述

列表是存储它的好方法吗?如果计算更好,也许是一个数组?对于一个潜在的列表,我认为它看起来像这样d = 3

>empty_tree
[[1]]
[1]

[[2]]
[1]
[2]

[[3]]
[1]
[2]
[3]
[4]

标签: rarrayslist

解决方案


我不确定你是否需要类似下面的东西

empty_tree <- function(d) sapply(1:d, function(k) replicate(2**(k-1),c()))

这样

> empty_tree(2)
[[1]]
[[1]][[1]]
NULL


[[2]]
[[2]][[1]]
NULL

[[2]][[2]]
NULL


> empty_tree(3)
[[1]]
[[1]][[1]]
NULL


[[2]]
[[2]][[1]]
NULL

[[2]][[2]]
NULL


[[3]]
[[3]][[1]]
NULL

[[3]][[2]]
NULL

[[3]][[3]]
NULL

[[3]][[4]]
NULL

推荐阅读