Sink trees of a given node in a computer network is a tree formed by connecting the node with all the other nodes of in the network with the optimal path, or more precisely the shortest path. Or, in other words, a sink tree is a minimal cost tree formed with the given node as the destination and all other nodes as sources. A popular measure for the path or the cost is the number of hops.
The sink tree follows from the optimality principle. According to it, in a network of routers for data transmission, if a router ‘J’ lies on the optimal path from router ‘I’ to router ‘K’, then the optimal path from router ‘J’ to router ‘K’ also falls along the same route.
As a direct consequence the optimality principle, it can be seen that the set of optimal routes from all source nodes to the destination node form a tree with the destination as the root node.
A sink tree may not be unique. There can exist more than one sink trees having same path length. The objective of routing algorithms is to find the sink trees for all nodes in the network. Since, links and nodes may go down and revive during data transmission, the alternative sink trees and the paths are also made available to the nodes.
Being a tree, a sink tree does not contain any loops or cycles. So each packet can be delivered within a finite number of hops. Also, a packet will not be infinitely rotated within a subnet.
The diagram below shows a network on the left side and the sink tree on the right with node A as the root node.