I understand what the expression [cache oblivious](http://en.wikipedia.org/wiki/Cache-oblivious_algorithm) means. But I was wondering if there is any easy explanation for how data structures can be designed that can use the cache optimally, without knowing the sizes of the cache.

Can you please provide such an explanation, preferably with an (easy) example?