2012-05-05 2 views
3

Данные часто передаются как «таблицы», например, в файлах CSV или HTML <table>, но хотя они могут выглядеть одинаково, они могут иметь разные неявные структуры. Например:Существуют ли шаблоны для данных?

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 - это часть изображения в общем формате. Кажется, он концентрируется на процессах, а не на структуре, но это, безусловно, важно. –

Смежные вопросы