c++ - 如何保存特定输入的信息

标签 c++ arrays input

我想做的是节省时间。例如,假设您有数组 A。给出了 3 个输入。 “4,1000,5”。您将在 A 的索引 4 和 1000 之间搜索数字“5”。假设此空间中没有“5”,并且您想保留此信息。因此,在另一个搜索中,当您必须在小于 4 的数字(例如 2)和大于 1000 的数字(例如 2000)之间搜索 5 时,您将不会在先前的空间中搜索它。搜索时间将减少。

我概括了这个问题,我不是在寻找一个只对这个特定例子有效的例子。(你可以这么说)

最佳答案

你完全可以按照你描述的去做。创建一个由搜索信息(从索引、到索引、搜索到的数字)和结果(不成功或找到的索引)组成的数据类型。对于每次搜索,您都将此信息保存在列表中。当开始新的搜索时,您可以首先检查缓存中是否有相关内容。如果有,您可以限制搜索空间。

但是,请注意,您使用此技术构建的缓存可能会很快失控并且(如果完成大量搜索)甚至可能比数组本身更大,从而消除了可能的速度增益。我认为这不是优化数组搜索的可行方法。这只会在非常特殊的情况下有效地工作,我可能不建议将此作为一般优化。

关于c++ - 如何保存特定输入的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35324226/

相关文章:

c++ - OpenCV 的多项式朴素贝叶斯

java - 使用 Junit4 比较 String[]

c - 奇怪的数组初始化表达式?

c++ - 交换数组

c - 在 C 中使用文件作为输入

string - 在 smlnj 中,您如何将 "string option"转换为 "string"?

linux - 从 Shell 输入中检测元(特殊)键(Ctrl、Shift、Alt、Tab、Esc、Backspace)

c++ - 如何在 C++ 中将字符串值分配给字符串变量

c++ - SDL 2.0放大纹理

c++ - 链表的 Delete_At 函数使程序崩溃