不理解为什么需要二叉树。一般数据结构的选择是为需要进行的操作服务的。

不能全转化为秒来计算吗?

2010/10/6 Guannan Ma <myth...@gmail.com>:
> Hi, all,
>
> 最近遇到个问题, 需要设计类似cron里面时间定义的timer数据结构.
>
> 以下是cron的定义
>
> [[[minute hour  day_of_month month day_of_week]]]  command
>
> 我需要实现除了command之外的timer数据结构.
>
> 我目前的想法是如下:
>
>
> minute hour dayof_.....  每一项做二叉线段树 每个线段树存储不交叉的内容.
>
> 如下(以minute为例):
>
>            [12 ,19]
>        |              |
> [1,9]       [30  ,  38]
>               |             |
>             [22,28]   [40, 50]
>                                |
>                                52
>
> hour dayof ...... 依次类推
>
> 做timer的时候, 计算最近的match点剩余的时间(XX秒).并返回.
>
> (做计算的时候反序 minute<-hour<-day_of_month<-month<-day_of_week 判断最
> 近时间距离(秒为单位), 即 先判断day_of_week 最后判断minute)
>
>
> 一个
>
> filter{
>     line_item m_h_dom_mon_dow[5]; //分别存 分钟 小时 日 月 星期中的日
> }
>
> timer_DIY{
>
> filter accept[MAX_ACCEPT_SIZE];  //这个是线段树的数组, 可以有N个这样的线
> 段树组成timer. 决策的时候遍历计算, 取最小值为下一次timer的触发时间.
>
> day array_deny[xx]; //这个是某些特殊的节假日等的filter
> }
>
>
> 有谁做过这方面的数据结构嘛? 能分享下 我觉得我的很笨拙..
>
>
> 谢谢
>
>
> --
> Guannan Ma <myth...@gmail.com>
>
> -------------- 下一部分 --------------
> 一个HTML附件被移除...
> URL: 
> https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20101006/a54224db/attachment.htm
> --
> ubuntu-zh mailing list
> ubuntu-zh@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
>
-- 
ubuntu-zh mailing list
ubuntu-zh@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh

回复