gpt4 book ai didi

c - 匹配算法的运行时优化

转载 作者:太空宇宙 更新时间:2023-11-04 03:45:18 25 4
gpt4 key购买 nike

我做了以下匹配算法,但当然我会有很大的运行时间......

有没有人有想法使这种匹配更快(通过更改代码或更改算法)

for (i=0;i<AnzEntity;i++){
for (j=0;j<8;j++){
if (Entity[i].GID[j] > 0){
for (k=0;k<AnzGrid;k++){
if (Entity[i].Module == Grid[k].Module && Entity[i].GID[j] == Grid[k].ID ){
Entity[i].GIDCoord[j][0] = Grid[k].XYZ[0];
Entity[i].GIDCoord[j][1] = Grid[k].XYZ[1];
Entity[i].GIDCoord[j][2] = Grid[k].XYZ[2];
continue;
}
}
}
}
}

最佳答案

一个非常笼统的问题……只能给出一个非常笼统的答案。

所有更快的搜索算法归结为分而治之。有一整个搜索系列,首先对要搜索的数据进行排序,这样您就可以逐渐减半(或更好)搜索的内容数量(例如:二进制搜索列表,各种树,...) .有一个完整的搜索系列,您可以在其中使用每个值的某些属性将搜索减少到数据的某些(小)子集(散列)。有些搜索会缓存最近的结果,在某些情况下可以使用(例如:置于最前面的列表)。其中哪些可能合适取决于数据。

然而,需要注意的重要问题是搜索的数据是否发生变化,如果发生变化,频率是多少。如果数据没有变化,那么你可以用大锤子敲它,然后敲出一个简单的结构来搜索。如果数据一直在变化,那么你需要一个更复杂的结构,这样变化就不会过于昂贵,并且可以保持搜索速度。根据具体情况,权衡会有所不同。

关于c - 匹配算法的运行时优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25054787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com