求教一个树的高效率的生成方法!

我现在想生成两种树
1》 单表的树
表中的记录有一个字段记载(如:parentid)着他的父节点的id,顶层的节点的parentid为0或空!
2》 多表的树
表的结构和单表差不多,只不过表中还有一个字段(如:parenttable)指定它的父节点所在的表名称!
请教各位高手一个高效率的生成算法!

给出一种通用的 最好的 生成方法:
前提,增加一字段命名path路径。
路径构成规则:父亲路径+自身路径前缀(prefix) 这是目录树数据库的核心思想。 例如,A 为根 路径:a 有两子 B和C 前缀分别为b,c 那B,C路径分别为a.b a.c。
取子操作不管有多少子孙节点 一次取出 select * from Xtable where path like 'a.%' order by path
采用层次遍历 构造树。

首先感谢您的回答,但能否具体些,采用层次遍历 构造树,是什么意思?
能否给个例子,不胜感激!