您是否有人知道使用生成树数据结构的任何实际应用程序?
答案 0 :(得分:2)
在网络中,我们经常使用最小生成树算法。所以问题如陈述here,给定带有加权边的图,找到满足这三个属性的最小总权重的边树:连通,非循环,并由| V |组成。 - 1条边。 (事实上,三个条件中的任何两个都意味着第三个条件。)
作为一个例子,
例如,如果你有一个很大的局域网 切换,找到最小生成树可能很有用 只有最小数量的数据包需要在中继 网络和同一数据包的多个副本不会通过 不同的路径(记住,任何两个节点只通过一个连接 生成树中的单一路径)。
其他现实问题包括布置电网, 据报道,Boruvka算法的原始动机之一 用于查找最小生成树的第一算法。它不应该 令人惊讶的是,找到最小生成树会更好 而不只是任何旧的生成树;如果网络上有一棵生成树 它可能涉及采取最拥挤,最慢的路径 不太理想!
除了计算机网络之外还有许多其他应用程序,我列出了以下参考资料:
网络设计 - 电话,电气,液压,电视电缆,电脑,道路 标准应用是针对电话网络设计等问题。你有几个办公室的业务;你想租用电话线将它们相互连接起来;并且电话公司收取不同数额的钱来连接不同的城市。您需要一组以最低总成本连接所有办公室的线路。它应该是一棵生成树,因为如果网络不是树,你总是可以删除一些边缘并省钱。
NP难问题的近似算法: - 旅行营业员问题,施泰纳树 一个不太明显的应用是最小生成树可用于近似解决旅行商问题。定义此问题的一种方便的正式方法是找到至少访问一次每个点的最短路径。
请注意,如果您只有一次访问所有点的路径,那么它就是一种特殊的树。例如,在上面的示例中,十六个生成树中的十二个实际上是路径。如果您有多次访问某些顶点的路径,则可以始终删除一些边以获取树。因此,一般来说,MST重量小于TSP重量,因为它是一个最小化,而不是一个严格更大的集合。
另一方面,如果绘制围绕最小生成树的路径,则会跟踪每个边缘两次并访问所有点,因此TSP权重小于MST权重的两倍。因此,这次旅行是最佳的两倍。
间接申请 - 最大瓶颈路径 - 用于纠错的LDPC码 - 用Renyi熵进行图像配准 - 学习实时面部验证的显着特征 - 减少蛋白质中氨基酸测序的数据存储 - 湍流流体中粒子相互作用的模型局部性 - 用于以太网桥接的autoconfig协议,以避免网络中的周期
聚类分析: k聚类问题可以被视为找到MST并最多删除k-1 昂贵的边缘。