性能优化其实有时候就在工作中的点滴积累.
这样的数量级是n^2级;
在工作中,时常 会碰到同事感叹速度太慢,特别是对大数据做处理时.但只要注意可能很小很easy的改变,就可以让速度大为改观.
比如一个功能需要比较A仓库有但B仓库也有的物料,可能很多同事直接是以下代码:
ArrayList AMatList = new ArrayList();
ArrayList BMatList = new ArrayList();
ArrayList sameMatList = new ArrayList();
for (int i = 0; i < AMatList.Count; i++)
{
for (int j = 0; j < BMatList.Count; j++)
{
if (AMatList[i] == BMatList[j])
{
sameMatList.Add(AMatList[i]);
}
}
}这样的数量级是n^2级;
其实换个简单的思路,数量级马上变成n:
ArrayList AMatList = new ArrayList();
ArrayList BMatList = new ArrayList();
ArrayList sameMatList = new ArrayList();
for (int i = 0; i < AMatList.Count; i++)
{
if (BMatList.Contains(AMatList[i]))
{
sameMatList.Add(AMatList[i]);
}
}
8023

被折叠的 条评论
为什么被折叠?



