社区
数据结构与算法
帖子详情
如何构造一棵并发二叉树?
vinoya
2009-07-08 09:24:26
给定一个图的邻接矩阵,每个节点代表一个主机,主机间可以进行通信,每条边的权值代表主机间通信的延迟,用矩阵的值表示。给定某一节点作为二叉树的根结点,即起始发消息的节点。
例如A指向B的边权值为5代表A发消息给B的延迟是5;不同的主机可以并发传递消息,例如二叉树中根A先后发消息给孩子节点B和C,B和C分别收到消息后可并发传递给自己的孩子结节点,每一层的花费的代价取决于该层中延迟最大的那个。
如何构造一棵二叉树,使得总延迟最小。
...全文
121
7
打赏
收藏
如何构造一棵并发二叉树?
给定一个图的邻接矩阵,每个节点代表一个主机,主机间可以进行通信,每条边的权值代表主机间通信的延迟,用矩阵的值表示。给定某一节点作为二叉树的根结点,即起始发消息的节点。 例如A指向B的边权值为5代表A发消息给B的延迟是5;不同的主机可以并发传递消息,例如二叉树中根A先后发消息给孩子节点B和C,B和C分别收到消息后可并发传递给自己的孩子结节点,每一层的花费的代价取决于该层中延迟最大的那个。 如何构造一棵二叉树,使得总延迟最小。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lilux
2009-07-15
打赏
举报
回复
带权图的最短路径问题?
gunsand
2009-07-13
打赏
举报
回复
兄弟你是干什么的呀?整天研究这种算法。为啥我做了6年互联网都没机会研究这个呢。
xxjjs
2009-07-09
打赏
举报
回复
自己纠正一下,第三步搞错了,没有那么复杂:
3. 设所有发送节点状态设为收发。如果有两个或以上就绪节点指向同一子节点,则仅保留权值最小的一对中的发送节点为首发,其余节点状态恢复为就绪,重复2-3
xxjjs
2009-07-09
打赏
举报
回复
看题意,应该不是二叉树吧,各可以并行发送,且要求总延迟最小,并没有限制一个结点只能给最多两个节点发送消息啊。
也就是说A发消息给B和C,在B和C发送消息的时候,A还可以给D发消息。
同时感觉这类题要求一个时间内一个节点只能发送一个消息,也就是说答案和顺序相关的
应该是多叉顺序树(自己起的名字)的问题
感觉上应该使用动态规划
首先将所有节点设置为三个状态:已收到消息(就绪),未收到消息(等待)和正在通讯中(收发)
从根节点A开始,设A为就绪节点,其他所有点为等待节点
1.我们寻找寻找权值最小的等待节点,假设B,发送消息,如果权值为N,则我们设下一检查点为N,此时A和B将同时变为就绪节点
2.在检查点,我们关心所有就绪和等待节点间的邻接矩阵,所有就绪节点寻找权值最小的等待节点为自己的子结点,插入到已有子节点的右边,并将zi节点状态设为收发。
3.如果有两个或以上就绪节点指向同一子节点,则各自在剩余等待节点中寻找权值次小的节点为备用节点,剔除备用目标节点权值最大的那个仍旧使用当前子节点,其余全部使用备用节点为自己的子节点,然后重复步骤3。
4.结束上述检查后,设所有就绪节点状态为收发,并将所有收发对权值从小到大排序M0,M1.....加上当前检查点N得到N0,N1,N2....设为检查点
5. 在下一检查点重复步骤2-4,注意此时得到的新检查点N0',N1'...等应该插入到原检查点队列中
6. 在某一检查点Nx时发现没有等待节点,则此时检查点队列中最大值Nmax就是所需总延迟值,生成的多叉树就是楼主所求的树
感觉是可行的,不过不知是不是最优解
vinoya
2009-07-08
打赏
举报
回复
没有人回答。。。。。
acdbxzyw
2009-07-08
打赏
举报
回复
[Quote=引用 2 楼 joanlynnlove 的回复:]
最小生成树问题。
[/Quote]
有点问题。。不太像。。。
acdbxzyw
2009-07-08
打赏
举报
回复
最小生成树问题。
在
二叉树
中求位于先序序列中第K个位置的结点
在
二叉树
中,先序遍历是一种常用的遍历方式,其顺序为:根节点 -> 左子树 -> 右子树。对于给定的问题,我们需要编写一个递归算法来找到先序序列中的第K个节点。这涉及到
二叉树
的
构造
、遍历以及递归算法的设计。 ...
西南科技大学软件技术期末考试题
- 在任何
一棵
二叉树
中,叶子节点数总是比度为2的节点数多1。 - **正确答案:A** **12.
二叉树
的空指针域数量** - **选项解析:** - 对于 n 个节点的
二叉树
,空指针域的数量为 n+1。 - **正确答案:C** **13. ...
2023年java数据结构面试题(1).doc
而链表存储
构造
则由一系列节点组成,每个节点包含数据和指向下个节点的指针,使得内存可以不连续。 对于栈的特性,文档明确指出栈具有后进先出(LIFO)的特性,即最后进入栈的元素会最先被移出。这一点在面试题中常...
计算机等级考试四级试题.doc
1. 数据结构的线性
构造
:广义表、
二叉树
、稀疏矩阵、串等数据结构的线性与非线性特征。 2. 队列的链式存储:在链式存储中,数据元素的物理存储顺序与逻辑顺序不一定一致。 六、其他: 1. 简单图与可图解性:对于...
南京大学1996-2008《数据结构》、《操作系统》考研真题1
1. **链接文件**:链接文件是一种非顺序访问的文件组织形式,其特点是通过链接字Li来连接各个记录。题目中要求读取记录i+1,这涉及到对链接字的解析和寻址。文件尾部增加新记录,需要更新链接字以指向新添加的记录,...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章