1

我正在寻找一些指导来处理具有以下规范的树/图遍历问题:

  1. 有一个根节点。
  2. 根节点可能有无限的子节点。
  3. 每个子节点只能有一个父节点,但本身也可以是潜在无限子节点的父节点,依此类推。
  4. 在现实世界的场景中,这在大多数情况下是一个小型结构。但是,关于遍历和删除,它仍然适用于大型结构。
  5. 我最关心删除,因为删除节点必须删除节点的任何子节点、孙子节点等,以及对父节点中已删除节点的任何引用。

我将如何在考虑效率的情况下解决这个问题。我希望在 Javascript/JQuery 中实现一些东西。我希望这是足够的信息,非常感谢任何建议。

谢谢你。

* 编辑/更新 * 我认为上面描述的结构将最接近有向图,并且由于每个级别可能有无限的子节点,因此不会是二叉树。另外,我不知道我是否正确地表达了这一点,但是在实际的 HTML 代码中,该结构并未根据其节点关系进行布局。换句话说,结构的视觉/代码设计与 JSON 表示中存在的各种父/子关系不匹配。这是其他人的选择,但无论如何,实现遍历、插入和删除是我的工作。

我在 SO 上查看了更多内容,并找到了以下链接:

如何使用networkx删除有向图中的所有相关节点?

上面链接中的第一个答案是我迄今为止找到的最接近解决方案的答案。但我不明白第一个答案中提到的“工作列表算法”如何比第一级更深入?

再次感谢任何帮助。

4

0 回答 0