There are many polynomial-time heuristic Steiner tree algorithms since seeking the minimum point to multi point (P2MP) tree in a network, which is known as the Steiner problem in networks (SPN), is nondeterministic polynomial time complete. Takahashi and Matsuyama's minimum-cost path heuristic algorithm (MPH) is widely applied to various multicast services. MPH has to run Dijkstra's algorithm m times in its algorithm process, where m is the number of end nodes of the multicast tree. + n log n)).
By using Fibonacci heaps (F-heaps), the time complexity of MPH is O(m(l + n log n)), where l is the number of links and n is the number of nodes on the network. A new Steiner tree algorithm called branch-based multi-cast (BBMC) is proposed for this study, which produces exactly the same P2MP tree as MPH does. BBMC shortens MPH's average time complexity to O((log m)(l
In addition, the algorithm speed of BBMC is much faster than that of MPH because BBMC does not use Dijkstra's algorithm in its algorithm process and drastically reduces the number of accesses to the F-heaps. MPH's processing time increasesproportionally to m, especially when m is large, but BBMC's processing time is almost independent from m. The speed of BBMC is about the same as that of the destination-driven multi-cast algorithm (DDMC), which has a time complexity of O(l + n log n), though BBMC produces a P2MP tree with a tree cost much smaller than that of DDMC.