2012-05-05 41 views
3

數據經常作爲「表格」傳輸,例如CSV文件或HTML元素,但儘管這些元素看起來相似,但它們可以具有不同的隱式結構。例如:Data有沒有模式?

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

可以被解釋爲對象的無序列表(人,具有屬性的身高和體重),在具有均勻數據縱列的矩形表。

相反,這不是一個矩形表,儘管它看起來像一個。

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的指針主要是管理數據的過程,這很有用。

+0

爲什麼downvote?如果您不知道數據的形狀,則無法編寫代碼。似乎在SO –

回答

3

尋找合適的data structure與尋找合適的設計模式在設計中使用一樣重要。根據您想要訪問或存儲數據的方式,您會發現無數的數據結構,從扁平列表到四叉樹;這可以在算法的性能和可維護性方面產生顯着的差異。

你會發現一個很好的數據結構列表on Wikipedia。你的第一張表似乎代表了一個簡單的結構化數據列表(如關係表),而你的第二個例子更類似於adjacency matrix,它用於表示圖形。

另外,請查看this answer瞭解與數據庫相關的一些指針。

+0

+1謝謝。你的觀點很有價值。我無意識地將注意力集中在代碼實現之外的數據上,並將修正這個問題。 –

1

確實存在數據模式。因此,存在數據挖掘和模式識別技術,以找到給定數據的模式。

http://msdn.microsoft.com/en-us/library/ff648420.aspx不再被維護,但提供了一些關於數據模式的信息。

+0

+1的範圍內 - 這是整體情況的一部分。它似乎專注於流程而不是結構,但這當然很重要。 –