An algorithm is a code construct that performs some job. A design pattern is a coding concept or rule that is a recognized "best practice" to follow in cases where it applies, while building algorithms. Each one may be the basis of the other.
Let's make an analogy to actual architecture. Architects can design houses of virtually limitless shapes and sizes. They can incorporate aesthetic or structural ideas from just about anywhere. However, there are some rules and "best practices" that architects should follow with regard to the structure of their designs. Doors should usually be at least 7 feet in height and at least 30" wide. This allows people to actually go through them. The stove and fridge should probably be in the same room as the oven, and there shouldn't be carpet in that room, which we call the "kitchen". Some patterns are optional; an architect can design a large "open concept" incorporating sub-spaces designed for various uses, or the architect can separate all of these spaces with walls. "Open concept" is the pattern; it doesn't have to be followed, as there are other patterns that will accomplish the same goal of providing various spaces, and won't collapse the house or burn it down.
More specifically, there are "patterns" of structural design that the actual carpenters should follow. Floor joists should be 12 inches apart, and should have cross-bracing every four feet. Floors in areas that will likely have a lot of water contact should have a waterproof underlayment beneath a water-tolerant surface material. Tile laid on a wood floor should have a form backing to minimize flex which causes cracking. Walls should have studs every 16 inches. Walls running perpendicular to the ceiling joists are "load-bearing" and should have double top plates. Windows should be framed with a header between two "king" studs, with additional "jack" studs inside the king studs supporting the header from underneath. It is certainly possible to frame a window within a wall without following these rules, but these rules create a more solid window frame that won't bow or sink into the wall over time under the weight of all the materials the wall is holding up. They are the "best practice", and in the real world are required by law to be followed in the interests of structural safety. These are rules you simply have to follow at a fine-grained level to build a solid house. Others are optional, or "either-or": you "may" drill through the studs of a wall to fish electrical wire, or you "may" instead run the wire up through and then across the top plate of the wall. There are recommendations, and things that are easier to do in one case versus another, but either is fine to do if you want to. There are also "minimum" guidelines: you "may" use either 12g or 14g electrical wire for a 120V 15A circuit in your home. However, 230V, or 20A+, must be 12g. You could, if you had it, use 10g for any of this, but that might be considered over-engineering.
So, in our analogy, the framing "design pattern" is the best practice for creating a window "algorithm" which allows people to see to the other side of the larger "wall" algorithm which has similar patterns for its construction, and supports a piece of the "house" program, and also divides it into "room" subfeatures which follow their own design patterns, and have "floor" algorithms which are designed for specific desirable characteristics.
Programming is very similar in several respects; there are certain rules that good developers follow to create robust code that can be easily maintained (DRY, SOLID, YAGNI), which lead to known "best practices" for following those rules (Strategy, Factory, Adapter). Then there are other rules that create performant algorithms that come HIGHLY recommended, but aren't required IF certain conditions are met (this SelectionSort will only ever see lists of 10 items, so even in the worst case it will meet performance expectations). And finally, there are optional or "either-or" cases where multiple patterns will follow all the rules, and it's up to you which is easier (Strategy or Template Method for this ETL algorithm? Depends on how much is common, and programmer preference)