2015-12-18 3 views
0

Я имею дело с данными отслеживания (x, y, z) с примерно 180 000 записей в наборе. Количество наборов не фиксировано, но около 22-30.Организация больших данных в списках - Структура?

Так что в худшем случае мне приходится иметь дело с 5,5 миллионами записей.

В настоящее время количество наборов исправлено, поэтому я использовал список для каждого набора.

public class TrackingCoords 
{ 
    public int id, 
     m, 
     n; 
    public decimal x, 
     y, 
     z, 
     s; 
    public string timekey; 

} 

public static class Data { 
    public static List<TrackingCoords> lstcoords1 = new List<TrackingCoords>(); 
... 
} 

Как бы вы организовали динамическое количество наборов без снижения производительности? Могут ли данные быть выражены в виде вложенного списка?

+0

Используйте [свойства] (http://stackoverflow.com/q/295104/1997232). И о том, о какой производительности вы говорите? Поиск? Включить? – Sinatr

+0

Не могли бы вы дать мне недвижимость со свойствами? Производительность Уменьшает поиск в списках. В идеале мне нужно найти запись из каждого списка каждые 0,04 с (25 кадров в секунду) – ManuKaracho

+0

Возможный дубликат [Что .NET-коллекция обеспечивает быстрый поиск] (http://stackoverflow.com/questions/1009107/what-net- collection-обеспечивает-быстрый поиск) – Sinatr

ответ

0

В списке временная сложность поиска - O (n). Использование вектора будет лучше, он может использовать двоичный поиск, так что сложность времени - это O (logn). Я думаю, что лучше всего использовать HashSet (System. Collections.Generic.HashSet). Вы можете увидеть больше об этом в https://msdn.microsoft.com/zh-cn/library/bb359438.aspx

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