1. A method for searching a least-cost path between a source node and a destination node in a communication network, the method comprising: determining a set of costs, wherein each cost in the set of costs is associated with a respective one of a plurality of least-cost paths from the source node to a plurality of nodes in the communication network, and wherein the plurality of nodes includes an intermediate node, the intermediate node being associated with an intermediate least-cost path in the plurality of least-cost paths; determining a least-cost path from the destination node to the intermediate node; selecting the intermediate node based at least on a first cost associated with the least-cost path from the destination node to the intermediate node and a second cost associated with the intermediate least-cost path from the source node to the intermediate node, wherein the intermediate node is in the least-cost path between the source node and the destination node; and transmitting communication data along the least-cost path between the source node and the destination node.