树形结构的保存方法

树形控件让我们的软件更具人机交互性,树形控件的友好表达,会使软件用户在某种程度工作得更愉快。下面谈谈树形结构的保存方法,看看如何增强用户体验。


下面是一个各种值的直观表示(为了容易理解,这里按照序数的升序排列,实际实现时将按降序,以让最后的帖子显示在最前面):
 
1.topic1(层=0,序数=1)
5.Re:topic1(层=1,序数=1.125)
4.Re:topic1(层=1,序数=1.25)
3.Re:topic1(层=1,序数=1.5)
6.Re:Re:topic1(层=2,序数=1.75)
8.Re:Re:Re:topic1(层=3,序数=1.7875)
7.Re:Re:topic1(层=2,序数=1.825)
2.topic2(层=0,序数=2)
10.Re:topic2(层=1,序数=2.5)
9.topic3(层=0,序数=3)
11.Re:topic3(层=1,序数=3.5)
 
从上面这个例子中可以看出,随着层的增加,以及跟帖的增多,其序数的尾数越来越多,因此,这种方法的一个可能的问题是,SQL SERVER中无法表示足够小的浮点数,以至于将两条帖子的序数认为是一样的了。经过实验知道,SQL SERVER的浮点数有8位,最多能支持一条帖子有1023条回贴。
 
上述方法的另一个缺点是帖子列表时要做浮点的比较,插入帖子的时候要做浮点的加法和除法,不过除法因为刚好是除以2,所以在浮点运算时只需要较少的操作。但这属于机器指令级的开销增长,比起在脚本或VB程序里的递归导致WINDOWS系统调用的开销来要小得多,另外,对系统内存的要求降低到了最小,因此理论上认为是划算的。
 
请您就这种方法的可行性进行分析论证,因为我想把它设计成能支持大容量用户访问的系统,所以务必经过周密的分析。
这只是一个方法而已,你可以想想其他方法,创新更重要。
 
飞鸽传书是一款局域网即时通讯软件,支持消息发送,文件夹传输等功能,无需服务器,简单易用。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值