Dijkstra's algorithm is a link-state routing algorithm that computes the least-cost paths from one node to all other nodes in a network. It works by having each node broadcast its link states so all nodes have the same network topology information. The algorithm is iterative - after k iterations it knows the least-cost path to k destinations. It works by initializing a set of nodes with known least-cost paths (N') and then finding the node with the lowest cost path not in N' to add to N' and update the costs of neighboring nodes on each iteration until all nodes are in N'.