Algorithm Design Patterns vs. Algorithm Strategies vs. Algorithm Design Techniques vs. Algorithm Design Paradigms I often encounter these terms, seemingly bearing same semantics and meaning. I'm almost sure they mean same - the types of Algorithms categorized based on their implementation strategy/paradigm.

Just wondering if I'm right and I get this correct, because, again - in different books/courses these terms are encountered in the same context. I'm kind of a very critical to the exactness of the terms I read.

Could you please confirm or reject my assumption?
Yes, they all refer to a categorization in terms of design paradigms (such as greedy, divide and conquer, dynamic programming, et cetera).