The patterns don't address optimization. Ken Auer and I wrote a paper called Lazy Optimization in "Pattern languages of program design 2" talking about performance.
As far as complex data structures, the patterns won't help directly but they will help you communicate your intentions in the resulting code. My bias, is to avoid the need for complex data structures but when I need one, I want it to be as easy to understand as possible since such structures often need to be changed.
Kent Beck Three Rivers Institute
Author of <a href="http://www.amazon.com/exec/obidos/ASIN/0596007434/ref=jranch-20" target="_blank" rel="nofollow">JUnit Pocket Guide</a>
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com