Design patterns 有数据模式吗?
数据经常以“表”的形式传输,例如在CSV文件或HTMLDesign patterns 有数据模式吗?,design-patterns,data-structures,Design Patterns,Data Structures,数据经常以“表”的形式传输,例如在CSV文件或HTML元素中,但尽管这些元素看起来相似,但它们可以具有不同的隐式结构。例如: Height(cm) Weight (kg) Pat 180 70 Sue 160 40 Jo 164 50 可以解释为一个无序的对象列表(Person,具有属性height和weight),在一个具有齐次数据列的矩形表中 相比之下,这不是一张长方形的桌子,尽管它看起来像一张 Dist(m)/Time(m)
元素中,但尽管这些元素看起来相似,但它们可以具有不同的隐式结构。例如:
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
它实际上是英国城市之间两个相关三角矩阵(距离和旅行时间)的排版组合
是否存在数据模式(就像存在代码模式一样)?其他的例子可能是时间序列、相关矩阵、直方图等。如果这些被宣布,或者甚至是经验性地发现,那么阅读和分析它们就会容易得多
更新:
@Kathiravel和@Jordão都给出了更广泛(和有价值的观点)。我最初的问题是潜意识里关于数据的,而不涉及计算机程序或数据库。所以我想问的是“在具有显著不同抽象结构的代码/数据库之外,哪些类型的隐含数据结构/模式是常用的”
@Kathiravel的指针主要指向管理数据的过程,这很有用。数据模式确实存在。因此,数据挖掘和模式识别技术存在于寻找给定数据的模式中 不再维护,但提供了一些关于数据模式的信息。找到正确的设计模式与找到在设计中使用的正确设计模式一样重要。根据您想要访问或存储数据的方式,您会发现大量的数据结构,从平面列表到四叉树;这可以显著提高算法的性能和可维护性 您将找到一个很好的数据结构列表。您的第一个表似乎表示一个简单的结构化数据列表(如关系表),而您的第二个示例更类似于用于表示图形的
另外,请查看一些与数据库相关的指针。为什么要进行向下投票?如果不知道数据的形状,就无法编写代码。似乎在SO+1的范围内-这是整体情况的一部分。它似乎专注于过程而不是结构,但这当然很重要。+1谢谢。你的观点很有价值。我无意中将注意力集中在代码实现之外的数据上,并将修改这个问题。