Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
Java 在多维数组中搜索和替换的最有效方法_Java_Algorithm_Search_Multidimensional Array_Replace - Fatal编程技术网

Java 在多维数组中搜索和替换的最有效方法

Java 在多维数组中搜索和替换的最有效方法,java,algorithm,search,multidimensional-array,replace,Java,Algorithm,Search,Multidimensional Array,Replace,在多维未排序数组中搜索和替换元素、保留结构而不将其转换为另一个数据结构的最佳方法是什么 我最好是在Java中寻找一个不使用任何特定于语言的库的解决方案。如果您有一个未排序的集合/数组,那么您不会比O(n)可靠地做得更好,因为您无法预测正在进行的元素,这意味着您必须遍历每个元素 这就是保持排序的集合存在的原因。遍历每个项目并检查它是否与搜索项匹配,然后修改该索引,不是O(n)吗?(这个问题更倾向于其他SO用户)@MikeKoch:取决于n是什么。如果您指的是矩阵的总大小,那么是的。根据“替换”的含

在多维未排序数组中搜索和替换元素、保留结构而不将其转换为另一个数据结构的最佳方法是什么


我最好是在Java中寻找一个不使用任何特定于语言的库的解决方案。

如果您有一个未排序的集合/数组,那么您不会比O(n)可靠地做得更好,因为您无法预测正在进行的元素,这意味着您必须遍历每个元素


这就是保持排序的集合存在的原因。

遍历每个项目并检查它是否与搜索项匹配,然后修改该索引,不是O(n)吗?(这个问题更倾向于其他SO用户)@MikeKoch:取决于
n
是什么。如果您指的是矩阵的总大小,那么是的。根据“替换”的含义,您可以在遍历矩阵时执行修改。这样它将保持在
O(n)
通常任何线性都是
O(n)
。如果你遍历一个10个元素的数组,并进行10次比较,这是
O(n)
@YonatanN true,但如果我没记错的话,它并不总是正确的(注意:可靠地说)@Rogue它不是(尽管你可以通过多次运行它来任意地做出不正确的答案)。但既然我们已经在这里了:其他的计算模型允许更大的魔力,比如恒定时间内任意数量的工作。诚然,这些都不太可能在物理上实现。