教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> ASP >> 无限级目录树最优算法的新研究 RSS订阅
无限级目录树最优算法的新研究
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
本文具体介绍:1。目录树的数据结构
              2。探讨具体应用中数据库的查询复杂度。

表结构:  id(编号)pid(父节点)nodepath(路径)nodetype(状态)
 
示例数据:1         0             0>               F
          2         0             0>               D
          3         2             0>2>             D
          4         3             0>2>3>           F
测试项目:                                                   
1。获取当前节点的父节点:复杂度:O(n)
2。获取当前节点的下级子节点: 复杂度:O(n)
3。获取当前节点的所有子孙节点: 复杂度:O(n)
4。获取当前节点的所有直系祖宗节点: 复杂度:O(n)
5。删除、新增节点时比较容易实现,主要是实现节点转移有点麻烦:设被转移

的节点为S,转移到的目的节点为T,则S.nodepath=T.nodepath+T.id+'>';同时检

查S是否有兄弟节点,无则S的父节点的nodetype改为F;检查T的nodetype,如为F

则改为D;修改表中S的子孙节点nodepath。一般这种情况出现的几率很低。
说明:本人的初衷是将该结构主要应用在类资源管理器的目录树中,根据

nodetype,画树的时候不必再搜索数据库去判断该节点是否还有子节点。至于用

在bbs帖子树,像帖子树中有一个帖子最新的,就必须将整个帖子树置顶这样的

情况,有种实用解决办法:增加一个字段rootid(帖子的根帖):select distanct

rootid from table order by postdate。
本数据结构支持无限级树,关于树的深度,可以根据实际情况而定nodepath的长

度。最后,我为什么用“最优”,主要有激将之意,抛砖引玉,只是希望能引起

广大高手的注意,能提出个人独特建议,在交流上作广泛的讨论。作者本人也绝

没有夜郎自大的意思。

来源:upschool.cn
作者:
关键字:新研究
发表日期:2006-7-26

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:输出EXCEL文件的通用函数,很实用   下一篇:让自定义文件下载支持断点续传(HTTP_RANGE Adodb.Stream)


2009-1-9 1:21:00
本文的相类似文章
  • 全球化背景下马克思主义理论与思想政治教育创新研究
  • 基于可持续发展的中小企业财务创新研究
  • 英国最新研究:甲硝唑会增加孕妇早产的危险
  • 最新研究表明:婚姻幸福与结婚早晚有关
  • 最新研究表明饮食影响基因活性
  • 美最新研究表明克隆动物不会未老先衰
  • 基于电子商务的组织创新研究
  • 买方市场环境下的市场营销创新研究
  • 我国商业银行中间业务创新研究
  • 地方财政制度创新研究
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com