Best technique for designing cache-oblivious algorithms by my study is divide and conquer technique. Most articles I've read on this topic use D&C approach. But I would like to know whether there are other ways to design a cache-oblivious algorithm?
D&C is a flavor of a general technique called inductive algorithms. There other flavors, one of them are the iterative algorithms. There are other basic techniques to design algorithms, greedy, dynamic programming, on-line, and so on.
The real point here is what does cache-oblivious mean . For instance, a sequential scanning of an array is cache oblivious (or a sequential reading of a file), regardless the algorithm is D&C, iterative or on line. In fact, in this case, an on-line algorithm is also cache oblivious.