What is the data structure used by spreadsheets program like ms-excel?
I got this question in an interview today.
The answer they were looking for (because I asked the interviewer at the end) was to implement a class structure that used multiple objects; formulas, references, and numerics.
Not much more detail to offer but suffice it to say that programs like google docs are much more interesting (to code) than they seem.
I expect it to use many.
For example, an AST to recalculate formulas (see this question).
While it is not exactly Excel, Open Office's Spreadsheet program is open source. It's a fairly large code base but nevertheless giving it a peek might give you a better understanding of how such an application is implemented:
http://contributing.openoffice.org/programming.html
Possibly a multi-dimensional array.
Maybe, probably, a sparse matrix:
http://en.wikipedia.org/wiki/Sparse_matrix