是否可以显示线性搜索以查找您输入的密钥以在程序中查找所花费的时间? [关闭]

Posted

技术标签:

【中文标题】是否可以显示线性搜索以查找您输入的密钥以在程序中查找所花费的时间? [关闭]【英文标题】:Is it possible to show the time it took a linear search to find the key you entered to find in the program? [closed] 【发布时间】:2017-03-05 02:56:31 【问题描述】:

是否可以显示线性搜索以查找您输入的密钥以在程序中查找所花费的时间?

这是老师给我们的任务

要求:编写一个按顺序执行以下操作的 C++ 程序: 线性搜索 1. 要求用户输入一个正整数值,我们将其表示为 n。这里 n 表示问题空间的大小,具体来说,是随机元素的数量。 2. 对于线性搜索,用户将输入要搜索的键/值。 3.一旦找到键/值,它将显示包括索引值在内的值。 4. 它还会显示它搜索的时间,以毫秒为单位。

【问题讨论】:

要回答您提出的问题,是的,可以显示线性搜索找到您输入的密钥所花费的时间。我在这里只看到三种可能性:A)你的老师已经向全班解释了如何获得当前系统时钟,以及完成这项作业所需的一切,但你那天没有上课,B)你在上课,但要么不理解现有的材料或没有注意,或 C) 你有一个不称职的老师不教。如果这是A或B,请向您的老师寻求帮助,那是他/她的工作;如果 C 改变类。 回答你的问题,是的。如需帮助,请展示您自己尝试这项作业的努力。 我们老师的问题是他给了我们代码,而不是让我们去做,我们需要做的就是将他的代码转换成代码块。现在他为我们提供了初步项目,并且对于他给我们的所有代码,该代码都不存在。而且选项C不是选择,我们大学的整个第二年都被那个人作为该学科的教授卡住了 “代码不存在”。也许这就是解决问题、阅读学习真正开始的地方! 【参考方案1】:

正如问题的 cmets 所述,我不会完全帮助您,因为这是一个分配问题。这是您开展工作的起点。开始在标头time.h 中查找c++ 的clock() 库函数。那应该做你的工作。

【讨论】:

我知道,就这样?我只是很烦恼,因为当我搜索时它显示 0ms。因为根据他基于线性搜索 N=N 秒的最坏情况的解释。因为当我在 1000 个元素的数组上搜索它并搜索第 999 个元素时,它只显示 8ms。我错过了什么吗?因为这就是他所说的线性搜索来搜索所需元素的时间,或者他的指导和讲座非常糟糕。我们所有的大学生都对他的解释感到困扰。这就是为什么我只问它是否可能而不是代码。谢谢先生。 我认为您对 O(n) 表示法感到困惑,即输入方面的线性。线性时间并不意味着如果有 n 个元素,则需要 n ,而是意味着需要 n units(在最坏的情况下),其中 1 个单位相等到搜索 1 个元素所需的时间。您的教授可能仅出于解释目的使用了 N 秒,例如如果有 10 个元素,那么在最坏的情况下,它必须遍历容器中的 10 个元素进行搜索,考虑到一个元素搜索需要 1 秒,这将需要 10 秒。但实际上只需要不到 1 秒。 非常感谢您的帮助和解释,先生,非常感谢。现在我都清楚了。

以上是关于是否可以显示线性搜索以查找您输入的密钥以在程序中查找所花费的时间? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在java中使用线性和二进制搜索的用户输入

显示日历以在java中选择日期

二分查找会更快吗?Python中的二分查找与线性查找性能测试

带组合框的用户表单-输入密钥行为

立即执行不返回预期结果以在整个表中搜索字符串

是否可以使浏览器的一部分透明以在 Web 应用程序中显示底层桌面/窗口? [关闭]