В настоящее время я сталкиваюсь с проблемой необходимости делать мои расчеты на основе длины данного списка. Необходимость итерации всех элементов списка, чтобы узнать, что его размер - это большой штраф производительности, так как я использую довольно большие списки.
Каковы предполагаемые подходы к проблеме?
Я думаю, что я всегда могу нести размерное значение вместе со списком, поэтому я заранее знаю, что его размер без необходимости вычислять его на площадке вызова, но это кажется хрупким подходом. Я также мог бы определить собственный тип списка, где каждый узел имеет в качестве свойства его размер списков, но тогда я потерял рычаги, предоставляемые моими библиотеками языка программирования для стандартных списков.
Как вы, ребята, справитесь с этим на вашей ежедневной рутине?
Я в настоящее время использую F #. Я знаю, что я могу использовать сметные (массивные) .NET .NET (массив), которые решит бы проблему. Однако я более интересуюсь, в чисто неизменном функциональном подходе.