Start here. This is the direct spoken answer to practice first.
Why this question matters
The patterns solve different problems. Strategy varies an algorithm, Adapter translates one contract into another, and Decorator wraps the same contract to add behavior.
I might use Strategy for choosing a shipping-price policy, Adapter for presenting a vendor payment SDK as the application's payment port, and Decorator for adding telemetry or caching around an existing implementation. I choose from the design pressure: variable behavior, incompatible interfaces, or cross-cutting behavior around one operation. The class shape can look similar, so intent and contract matter more than the name.