1. Design Patterns: Elements of Reusable Object-Oriented Software;Gamma,1995
2. Efficient Matrix Chain Ordering in Polylog Time;Bradford;SIAM Journal on Computing (Philadelphia: Society for Industrial and Applied Mathematics),1998
3. Computational complexity;Papadimitriou,1994
4. Complexity, Oracles, and Numerical Computation;Grötschel,1988
5. 2.3: Designing algorithms;Cormen,2001