树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的...
分类:
其他好文 时间:
2015-01-03 15:53:19
阅读次数:
290
树形结构是一类非常重要的非线性结构,它可以很好地描述客观世界中广泛存在的具有分支关系或层次特性的对象,因此在计算机领域里有着广泛应用,如操作系统中的文件管理、编译程序中的语法结构和数据库系统信息组织形式等。
分类:
其他好文 时间:
2015-01-02 18:44:09
阅读次数:
263
问题描述:
Trie树
又称单词查找树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。
举个例子:os,oh,old,char,chat这些关键词构成的trie树:
root
...
分类:
编程语言 时间:
2015-01-01 09:00:30
阅读次数:
461
work breakdown structure(WBS)工作分解结构(英语:Work Breakdown Structure,WBS)是一个详尽的,层次的(从全面到细节)的树形结构,由可交付成果与为了完成项目需要执行的任务组成。WBS的目的是识别终端元素(项目中实际需要完成的事项)。因此WBS是项...
分类:
其他好文 时间:
2014-12-31 22:42:50
阅读次数:
287
模式动机职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并使请求沿着链传递,由链上的处理者对请求进行相应的处理,客户端无须关心请求的处理细节以及请求的传递,只需将请求发送到链...
分类:
其他好文 时间:
2014-12-30 18:49:58
阅读次数:
218
组合模式:将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 需求中是体现部分与整体层次的结构时,以及希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就应该考虑组合模式了。 组合模式定义了包含基本对象和组...
分类:
其他好文 时间:
2014-12-30 18:47:08
阅读次数:
128
1 module(..., package.seeall) 2 3 local g_Debug_Flag = true 4 5 function log(msg) 6 if g_Debug_Flag == false then 7 return 8 end 9 ...
分类:
其他好文 时间:
2014-12-30 18:30:11
阅读次数:
186
上一篇解读完解析器的代码,这一篇就来解读一下渲染器。 在之前的解读中,解读了parseTemplate如何将模板代码解析为树形结构的tokens数组,按照平时写mustache的习惯,用完parse后,就是直接用 xx.innerHTML = Mustache.render(template ...
分类:
Web程序 时间:
2014-12-30 11:26:24
阅读次数:
272
stl中对线性表有充分的实现,无论是vector还是list都是典型的线性表,即便是set和map,尽管实现上采用了诸如红黑树之类的树形结构,但那仅仅是为了快速检索的需要,从语义上来说它们依旧是线性表,无法表达目录树这种树形结构。boost中的property_tree可以看做是对树形结构实现的补充,我们大可把它扩展应用到各种需要树形结构的地方。...
分类:
其他好文 时间:
2014-12-29 23:06:48
阅读次数:
350
复合模式
设计意图:当一个系统中的对象需要组合成树形结构,以表示整体和部分的层次关系时,就可以使用复合模式。在继承关系的统一性和聚合关系的实用性得到了最好的结合
基本结构:实现符合模式的关键是建立一个抽象类来代表所有简单对象和复合对象,使它们拥有公共的接口,系统中的简单对象和复合对象都是这个抽象类的派生类
部件(Component)类:整颗继承树的抽象类,定义了整颗树中所有类的接口,其中包括管理和访问被聚合部件的接口,在这个抽象类中,可以实现一些缺省的行为,有时也需要定义访问上层部件的方法,这样可以使遍历整...
分类:
其他好文 时间:
2014-12-26 18:46:59
阅读次数:
157