【发布时间】:2011-08-25 05:43:10
【问题描述】:
如何存储大型二叉树(深度约为数千)。 我们试图存储在数据库中,在具有行的表中:elem、parent、left_child、right_child 但是处理这棵树很慢(计算,画出它的一部分)。
您推荐哪种方式? (计算可以在 php 中完成)。可能是将其存储在 XML 或 json(文本文件)或某些矩阵中?
【问题讨论】:
-
标准 SQL 设置对于这样的结构是出了名的糟糕。表示非常简单,但检索是一个严重的痛苦。不过,Oracle 和 Postgres(?) 通过“先连接”扩展支持递归查询。
-
使用了什么样的数据库?你尝试过 Redis、MongoDB 吗?
-
一棵典型的树有多少个节点?一棵 1000 层深的二叉树可能包含 2^1000 个节点 - 这是一个非常大的数字(即使对于 DBMS 也是如此)。
-
2 OZ_,不,我们使用关系数据库(postgres)。
-
2 NealB,是的,树可能有 1000 个级别...
标签: php binary-tree