【发布时间】:2010-02-28 17:57:48
【问题描述】:
我正在优化 Delphi 应用程序的一部分,其中经常使用不同的标准过滤对象列表。对象保存在TObjectList 结构中,通常使用每个过滤器选择整个集合中非常小的百分比(例如 1%)。对象的总数可以在 100k 范围内,并且在计算期间主集不会改变。尽管过滤器仅适用于少数几个属性,但无法以优化所有可能条件的方式对列表进行排序。
我正在寻找有关如何组织对象(数据结构)或可用于解决此问题的算法的建议。谢谢!
过滤器示例:
((Object.A between 5 and 15) AND
(Object.B < 20) AND
(Object.C(AParam) > 0)) OR
(Object.IsRoot(...))
【问题讨论】:
-
也许您可以指定您正在执行的过滤类型?它是简单的值匹配吗?范围检查?更复杂的东西?
标签: algorithm delphi data-structures delphi-2006