
The Algorithm Design Manual

basis cases, namely the specification of the smallest and simplest objects where the decomposition stops.
Steven S. Skiena • The Algorithm Design Manual
Subsets are likely the object in question whenever your problem seeks a “cluster,” “collection,” “committee,” “group,” “packaging,” or “selection.”
Steven S. Skiena • The Algorithm Design Manual
Points are likely the object in question whenever your problems work on “sites,” “positions,” “data records,” or “locations.”
Steven S. Skiena • The Algorithm Design Manual
Permutations are likely the object in question whenever your problem seeks an “arrangement,” “tour,” “ordering,” or “sequence.”
Steven S. Skiena • The Algorithm Design Manual
Graphs are likely the object in question whenever you seek a “network,” “circuit,” “web,” or “relationship.”
Steven S. Skiena • The Algorithm Design Manual
Strings are likely the object in question whenever you are dealing with “text,” “characters,” “patterns,” or “labels.”
Steven S. Skiena • The Algorithm Design Manual
Learning to think recursively is learning to look for big things that are made from smaller things of exactly the same type as the big thing.
Steven S. Skiena • The Algorithm Design Manual
Order does not matter in subsets
Steven S. Skiena • The Algorithm Design Manual
Polygons and polyhedra are likely the object in question whenever you are working on “shapes,” “regions,” “configurations,” or “boundaries.”