我遇到了以下问题:我在mysql表中存储了一个二叉树。
在WEB上可视化这种二叉树是很有必要的。也许有人遇到了类似的问题,可以建议如何最好地完成这项任务。提前感谢您的回答!
在搜索了这些库之后,我发现了d3。已经写了一个例子,像所有的作品一样。
Here is my fiddle: https://jsfiddle.net/yurayazupol/vbucyuzk/1/
但是后来我决定从一个单独的json文件中获取数据。但在那之后,一切都停止了。工作版本位于下面的链接,与json文件的交互在script.js文件的注释中。你能告诉我出了什么问题吗?
我在中看到了二叉树的定义
另一种定义二叉树的方法是对有向图进行递归定义。二叉树是:
一个顶点。
一种图,由两个二叉树,加一个顶点,加上一个从新的顶点指向每个二叉树的根的边。
那么,怎么可能有一个根和一个左子的二叉树,像这样:
O
/
O
这是一棵二叉树对吧?我在这里错过了什么?
请不要只说“维基百科可能是错的”,我在其他地方也看到过这个定义。
完全树是一棵树,每个层次都被完全填充,an 几乎完全树是一棵树,如果最后一层没有完全填充,那么所有节点都尽可能地保持在最左边。我的困惑出现在以下二叉树示例中:
O
/ \
O O
/ \ / \
O O O O
/ \
O O
根据定义,它应该是一个不完全的二叉树,但它是一个完整的二叉树。这怎么是一个完整的二叉树,为什么它不是一个不完整的二叉树?
我正在尝试使用递归函数使用二叉树(不,它不是二叉树,只是二叉树)来创建一种搜索方法。如果数据在二叉树上,我希望它返回节点,如果不在二叉树上,我希望它返回一个NULL值。我已经实现了搜索功能,它正在完美地完成它的工作。但问题是,该函数似乎不会返回节点。
下面是二叉树的struct:
struct data
{
int number;
struct data *left, *right;
}*root = NULL;
这就是我所说的搜索功能:
data* search(struct data *node, int key)
{
if(node == NULL)