以下的结构如何在数据库中实现?又如何在程序中读取呢?
a
|
|-------b
| |
| |------c
| | |
| | |-------d
| | | |
| |
| |
| |------b
| | |
| |-------c
| | |
|-------c
| |
| |------d
| | |
| | |-------f
| | | |
| | |
| |
| |------b
| | |
| |-------c
| | |
|
上面的结构我该如何在数据库中实现呢?又如何在程序中读取呢?
参考文章:
你可以用图的方式存贮一个大对象。
有数的位为1,没数的为写0
如下
00001011 00000000 00000000 00000000 存储为a000
00000000 00001100 00000000 00000000 存储为0b00
只存储值,建议阿!
在数据库中存储,可以这样定义表结构:
"nodeid, nodelevel, parentnodeid"
nodeid存储本节点标识, nodelevel存储本节点在树中的层级号(数字,级差为1),parentnodeid存储父节点标识。当parentnodeid为一特殊值时表示根节点。
读取时,先读根节点,然后一层一层地读取其它节点并根据父节点标识插入到相应的父节点之下就可以了
wuxin1973说的对,不过那个nodelevel就没什么作用,只要nodeid各个节点
都是唯一的,就足以表示一棵树了!!!
你这一棵树上肯定有数据的,所以定义成“nodeid,parentnodeid,...data..”
别的就和wuxin1973相同。。。
种好了树到树林里喝酒,哈哈哈哈
Posted in noname. Edit