当前位置: 首页 > 知识库问答 >
问题:

用Cytoscape.js绘制二叉搜索树

左丘阳晖
2023-03-14

我正在尝试使用Cytoscape.js绘制一个二叉搜索树。我在用匕首布局。在我的树中,每个节点正好有两个子节点--我正在为空的子树创建带有'null'标签的节点。我的问题是,有时候左边的孩子在右边,反之亦然。

如何设置哪个节点应该是左边的子节点,哪个应该是右边的子节点?

共有1个答案

贺彬
2023-03-14

从dagre文档中,看起来可能影响顺序的唯一参数包括:

  • 图本身中节点和边的排序。
  • ranker选项。

如果两者都不允许在生成的dagre布局中指定顺序,那么您将不得不向dagre提交一个特性请求。cytoscape-dagre软件包只是一个包装。

 类似资料:
  • 我很难按我教授想要的格式打印出一个二叉搜索树。 他的格式是这样的: 我的代码:

  • 编写一个函数,如果给定的二叉搜索树包含给定的值,则返回1,否则返回0。 例如,对于以下树: N1(值:1,左:null,右:null) n2(值:2,左:n1,右:n3) N3(值:3,左:null,右:null) 对contains(&n2,3)的调用应返回1,因为根位于n2的树包含编号3。 函数应该返回1,然而,它返回0或者根本不返回。

  • 我用java编写了一个实用的二叉搜索树,除了一个关键的函数,搜索。我使用的逻辑是,我将检查根是否为空,然后我要搜索的术语是否等于根(所以返回根)或>根(所以搜索右子树)或 使用printlns查看正在发生的事情,我发现如果值在那里,它将通过正确的if语句(包括将BNode n设置为找到的值),但随后由于某种原因将再次通过方法(返回null)。 这个方法唯一起作用的时候是在搜索根节点的时候,这对我来

  • 在二元搜索树的情况下,为什么我们不能简单地在一个节点有两个子节点的情况下,将一个节点的前一个节点替换为后一个节点?

  • 我必须编写一个二进制搜索树的实现,它可以处理库的库存。它读取一个包含所有书籍的文本文件,并将这些书籍按字母顺序添加到树中。我已经与Insertar()函数代码斗争了几天,但我无法使它正常工作,它基本上接收到一个指针,指向与书相关的所有数据的树根。如果根为NULL,则它将函数中输入的所有值初始化一个节点,并将内存方向指定为NULL节点。问题是,它在本地做,最终它没有分配它。谁能帮我纠正那个具体的功能

  • 上面的代码对所有测试用例都能很好地工作。但是,下面的代码不是。 额外的IF条件有什么需要?即使没有它们,函数也应该从下面的if条件返回false?我错过了什么?