有数据模式吗?

时间:2012-05-05 11:17:39

标签: design-patterns data-structures

数据经常作为“表格”传输,例如在CSV文件或HTML <table>元素中传输但是虽然它们看起来相似但它们可以具有不同的隐式结构。例如:

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

可以被解释为无序的对象列表(Person,具有属性height和weight),在具有同源数据列的矩形表中。

相比之下,这不是一张矩形表,虽然它看起来像一个。

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

它实际上是英国城市之间两个相关三角矩阵(距离和旅行时间)的印刷构成。

是否存在数据模式(存在代码模式的方式)?其他例子可能是诸如TimeSeries,CorrelationMatrices,Histograms等等。如果这些被宣布或甚至凭经验发现,它将使阅读和分析更容易。

更新: @Kathiravel和@Jordão都给出了更广泛(和有价值的观点)。我原来的问题是在没有参考计算机程序或数据库的情况下潜意识地了解数据。所以,我试图问的是“在具有明显不同抽象结构的代码/数据库之外,什么类型的隐含数据结构/模式是常用的”?

@ Kathiravel的指针主要是管理数据的过程,这很有用。

2 个答案:

答案 0 :(得分:3)

找到正确的data structure与在设计中使用正确的设计模式同样重要。根据您想要访问或存储数据的方式,您可以找到无数的数据结构,从平面列表到四叉树;这会对算法的性能和可维护性产生重大影响。

你会找到一个很好的数据结构列表on Wikipedia。您的第一个表似乎代表了一个简单的结构化数据列表(如关系表),而您的第二个示例更类似于adjacency matrix,用于表示图形。

另外,请查看this answer以获取与数据库相关的一些指示。

答案 1 :(得分:1)

确实存在数据模式。因此,在找到给定数据的模式时存在数据挖掘和模式识别技术。

不再维护

http://msdn.microsoft.com/en-us/library/ff648420.aspx,而是提供有关数据模式的一些信息。