首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于堆栈的广度优先搜索树遍历泛化处理

基于堆栈的广度优先搜索树遍历泛化处理

泛化(Generalization)如果有人需要有一种不同类型的列表和一种不同类型的列表迭代方式,那么模板方法将是最适合的模式。用户可选择使用列表迭代的模板方法,处理多种类型的列表,而不实际揉合算法(类似于一个抽象类)。泛化 (generalization ) 可在某些类型的列表(比如数组、单链接列表、双链接列表等)迭代。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
                  +----------------+
                  | BFS            |
                  |                |
                  |+iteratelist()=0|
                  +----------------+
                        ^
                       /_\
                        |
                      / | \
                     /  |  \
             /-------   |   -------\
            /           |           \
           /            |            \
          /             |             \
+--------------+ +--------------+ +--------------+
| ARRAY        | |SGL LINKED LST| |DBL LINKED LST|
|              | |              | |              |
|+iteratelist()| |+iteratelist()| |+iteratelist()|
+--------------+ +--------------+ +--------------+

返回列表