Optimal Substructure
Optimal substructure is a property of a problem that indicates an optimal solution can be constructed from optimal solutions of its subproblems. This means that if you can solve smaller parts of a problem optimally, you can combine those solutions to solve the larger problem optimally. This concept is crucial in algorithms like dynamic programming and greedy algorithms.
For example, in the shortest path problem, finding the shortest path from point A to point B can be achieved by finding the shortest paths from A to intermediate points and then combining those paths. Thus, the overall solution relies on the optimal solutions of its subproblems.