Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中,在没有数据库的情况下搜索两个参数的最佳方法是什么_C#_Arrays_Search_Dictionary - Fatal编程技术网

C# 在C语言中,在没有数据库的情况下搜索两个参数的最佳方法是什么

C# 在C语言中,在没有数据库的情况下搜索两个参数的最佳方法是什么,c#,arrays,search,dictionary,C#,Arrays,Search,Dictionary,函数fx,y=z,使用蛮力I在搜索空间内有所有可能的X和y值以及相应的z值20K记录 我需要检索预先计算的最大Z产量X,Y,Z的X,Y参数:选择X,Y,其中Z是最大值 从1性能2简单性的角度来看,没有数据库,这是最好的方法: 数组列表 多维字典 自定义类型的列表/数组 桌子 还有别的吗? 我恳请你澄清你的问题。只有在预先计算了值的情况下,您才应该谈论搜索,在这种情况下,函数f在您的决策中不起作用。否则,如果这些值不是预先计算的,那么您不是在谈论搜索,而是在谈论函数f的逆运算 无论如何,如果您谈论

函数fx,y=z,使用蛮力I在搜索空间内有所有可能的X和y值以及相应的z值20K记录

我需要检索预先计算的最大Z产量X,Y,Z的X,Y参数:选择X,Y,其中Z是最大值

从1性能2简单性的角度来看,没有数据库,这是最好的方法:

数组列表 多维字典 自定义类型的列表/数组 桌子 还有别的吗?
我恳请你澄清你的问题。只有在预先计算了值的情况下,您才应该谈论搜索,在这种情况下,函数f在您的决策中不起作用。否则,如果这些值不是预先计算的,那么您不是在谈论搜索,而是在谈论函数f的逆运算

无论如何,如果您谈论的是存储在特定数据结构中的预计算值,我建议使用某种排序集合类型。我想政府可以给你提供一些有用的信息


希望我能帮忙

排序的多重映射z->x,y似乎很明显。或者只是z,x,y的排序数组。如果在某种集合中保存三元组x,y,z,一件简单的事情就是Linq的。OrderByDegendingTriple=>triple.z。首先,它将为您提供所需的x,y,z。但请发布一些代码,使您的问题更具体。或者您可能只希望foreach x在x范围内,foreach y在其范围内,计算z=fx,y,如果z到目前为止大于“记录”,请记住x y和这个新记录,然后继续双循环?谢谢,这些值是预先计算的,我应该从我的问题中省略这个函数,但我认为它给出了一个更好的想法。从性能资源使用、速度的角度来看,你认为Linq是最优的吗?预计算的值在哪里,它们是如何保存的?感谢你的帖子,我删除了单词optimal-X,Y并添加了pre-computed,希望现在更清楚,因为这些值是预先计算的,那么Linq是一个很好的提示,我不会建议循环使用。如果您像应该的那样关心性能,那么数据的存储方式将对建议的linq查询产生影响。因此,我建议我们编写一段代码,显示数据已经存储的数据结构。然后我们可以提出更有意义的建议。