繁体   English   中英

如何在2D数组中查找匹配值的最快方法

[英]Fastest way how to find matched value in 2d arrays

在2d数组中查找匹配值的绝对最快方法是什么?

假设我有一个数组int arr[2][2]={{1,5},{2,2},{1,5}} ,我想找到所有与{1,5}匹配的值,数组将更长。 最快的方法是什么?

如果没有其他信息,最快的方法就是简单地检查每个元素,直到找到它或检查所有元素为止。

如果您可以控制数组的创建方式,则元素的检索将变得更快。 例如,保持元素根据某些标准排序将允许二进制搜索(例如,使用ISO C bsearch() )。

如果您甚至可以放弃数组要求,则可以使用哈希表。 有一些从哈希表中检索值的技术,保证仅需要两次查找。

最后,“所有优化都是缓存的练习”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM