3

Data is/are frequently transmitted as "tables", for example in CSV files or HTML <table> elements but although these may look similar they can have different implicit structures. For example:

    Height(cm) Weight (kg)
Pat    180       70
Sue    160       40
Jo     164       50

can be interpreted as an unordered list of objects (Person, with attributes height and weight), in a rectangular tables with homogeneous data columnwise.

In contrast, this is not a rectangular table, though it looks like one.

Dist(m)/Time(m)      Hull  Leeds London
Hull                   0.0   69    229
Leeds                  59    0.0   218
London                 186   201   0.0

It is actually the typographical composition of two related triangular matrices (distance and time of travel) between UK cities.

Are there data patterns (in the way that there are code patterns)? Other examples could be things such as TimeSeries, CorrelationMatrices, Histograms, etc. If these were declared or even empirically discoverable it would make reading and analysing them much easier.

UPDATE: Both @Kathiravel and @Jordão have given a wider (and valuable view). My original question was subconciously about data without reference to computer programs or databases. So whaqt I was trying to ask was "what types of implied data structure/pattern are in common use outside code/databases that has significantly different abstract structures"?

@Kathiravel's pointer is mainly to processes of managing data, and that's useful.

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
peter.murray.rust
  • 37,407
  • 44
  • 153
  • 217

2 Answers2

3

Finding the right data structure is as important as finding the right design pattern to use in a design. Depending on the way you want to access or store data, you'll find a myriad of data structures, from flat lists to quadtrees; that can make a significant difference in performance and maintainability of your algorithms.

You'll find a good list of data structures on Wikipedia. Your first table seems to represent a simple list of structured data (like a relational table), and your second example is more akin to an adjacency matrix, which is used to represent graphs.

Also, take a look at this answer for some pointers related to databases.

Community
  • 1
  • 1
Jordão
  • 55,340
  • 13
  • 112
  • 144
  • +1 Thanks. Your points are valuable. I unconsciously have concentrated on data outside implementations in code and will revise the question. – peter.murray.rust May 07 '12 at 08:28
1

Data patterns do exist. Hence the data mining and pattern recognition techniques exist, in finding the pattern of the given data.

http://msdn.microsoft.com/en-us/library/ff648420.aspx is no more maintained, yet provides some information on data patterns.