"Does patterns makes the program run more efficiently?"
Only if you've found some good patterns for efficiency.
The design pattern for a Mapping is a way to eliminate searching. You'll see that the amount of time spent doing searches will be less (one kind of efficiency), but it may use more memory (another kind of efficiency).
The Tree Map design pattern (Python folks would call it an ordered dictionary) is one variation of this design pattern.
The Hash Map design pattern (Python folks would call it a dictionary) is another variation of this design pattern.
They're more time-efficient, but less space-efficient.