1
所以,我正在玩R,以便获取分类树的挂件。我主要对为分类树创建抽象数据类型感兴趣,所以我可以开始构建它。但与C,Java等不同,我不能指向其他节点。我仅限于列表和向量。使用列表和向量实现分类树
我该如何建立?有小费吗?
所以,我正在玩R,以便获取分类树的挂件。我主要对为分类树创建抽象数据类型感兴趣,所以我可以开始构建它。但与C,Java等不同,我不能指向其他节点。我仅限于列表和向量。使用列表和向量实现分类树
我该如何建立?有小费吗?
通过R中扮演一点点与data.tree
,我写这个
library(data.tree)
my.tree <- Node$new('my tree')
my.tree$key <- 1
my.tree$var.name <- 'blahblah'
function <- insert.Node(tree=NULL, key=1, var.name='abcd'){
if (is.null(tree$key)){
# Creation of root
tree = Node$new(paste(var.name, " < ", key, sep = ''))
tree$key <- key
} else if (key < tree$key) {
# Left child
tree$AddChildNode(insert.Node(tree$children[[1]], key, var.name))
} else {
# Right child
tree$AddChildNode(insert.Node(tree$children[[2]], key, var.name))
}
}
tree <- insert.Node(tree=my.tree, key = 4, var.name = 'hello world')
希望这有助于。
这实际上比列表和向量更简单一些:P – Mixalis
列表可以包含其他列表,因此可以用来实现递归数据结构 –