【问题标题】:R: how to initialize empty binary tree?R:如何初始化空二叉树?
【发布时间】:2020-08-19 16:29:55
【问题描述】:

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

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

>empty_tree
[[1]]
[1]

[[2]]
[1]
[2]

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

【问题讨论】:

  • 也许 igraph 中的某些东西可以解决这个问题? cran.r-project.org/web/packages/igraph "用于简单图形和网络分析的例程。它可以很好地处理大型图形,并提供生成随机和规则图形、图形可视化、中心性方法等功能。"

标签: r arrays list


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 2014-03-07
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多