基于网格环境的二叉树后序遍历并行算法研究
161 浏览量
更新于2024-08-31
收藏 181KB PDF 举报
"网格环境下二叉树后序遍历的一种并行算法"
本文提出了网格环境下二叉树后序遍历的一种并行算法,利用网格环境下的并行计算模型G-PRAM来研究二叉树的后序遍历问题。下面是相关的知识点:
1. 二叉树的定义:二叉树是一种重要的数据结构,它是n(n≥0)个结点的有限集。它或者是空集(n=0),或者由一个根结点和两棵互不相交的分别称为这个根的左、右子树的二叉树组成。
2. 二叉树的遍历:二叉树的遍历可以分为三种:先序遍历、中序遍历和后序遍历。其中,先序遍历是先访问二叉树的根结点,然后先序遍历左子树,最后先序遍历右子树。中序遍历是先中序遍历左子树,再访问二叉树的根结点,最后中序遍历右子树。后序遍历是先后序遍历左子树,再后序遍历右子树,最后访问二叉树的根结点。
3. 串行算法:串行算法是一种最常见的实现方式,让每个结点被访问且仅被访问一次。但是,可以换个角度来研究二叉树的遍历问题,即从串行算法中以二叉树的结点为重点考察对象转变为重点研究二叉树的边的遍历问题。
4. 网格环境下的并行计算模型G-PRAM:G-PRAM模型是一个理想化的并行计算模型,被广泛用来评估并行算法的理论性能。G-PRAM模型由一个控制单元、全局内存和一组处理器集合组成。每个处理器有其自己的私有内存,所有处理器执行相同的指令,但每个处理器处理的数据不同。
5. 并行算法的设计:在网格环境下,可以给每条边分配一个独立的处理单元(单处理器的网格节点或者多处理器网格节点的一个处理器)进行处理,利用多个处理单元同时对所有的边进行处理,从而并行实现网格环境下的二叉树后序遍历。
6. G-PRAM模型的种类:PRAM模型有四种,不同之处主要在于它们处理读写冲突的方式有差异,包括:互斥读互斥写、互斥读共享写、共享读互斥写和共享读共享写。
7. 网格环境下的二叉树后序遍历算法:在网格环境下,可以将每条边变成两条有向边,一条有向边对应向下的遍历,另一条有向边对应向上的遍历,则遍历二叉树的结点问题变成了一个遍历二叉树的边的问题。然后,可以利用网格环境下的并行计算模型G-PRAM来实现二叉树后序遍历的并行算法。
2015-09-15 上传
2021-10-05 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38612909
- 粉丝: 4
- 资源: 919
最新资源
- sentry-ssdb-nodestore:Sentry的SSDB NodeStore后端
- 附近JavaScript:适用于JavaScript的ArcGIS API应用程序可查找附近的地点并路由到最近的位置
- aiap-field-guide:每周Aiap课程
- Ambit Components Collection-开源
- Glider Screen-crx插件
- PCB_FDTD.zip_matlab例程_C++_Builder_
- 快速收集视图的自定义蜂窝布局-Swift开发
- js-pwdgen-wannabe
- facebook-sdk:适用于Facebook Graph API的Python SDK
- markdown文档转pdf工具
- lucy:基于键值存储网络的聊天机器人
- Year Clock-crx插件
- goodmobileirisrecognition.rar_matlab例程_matlab_
- matlab人脸检测框脸代码-opencv4nodeJs-4.5.2:适用于Node.js的OpencvBuild
- CTI110:CTI110存储库
- L-one-crx插件