当前位置: 首页 > 知识库问答 >
问题:

比较运算符的复杂性[重复]

贲绪
2023-03-14

为什么 函数所花费的时间是xi/code>函数的两倍。此外,当比较 时,执行时间大约是 情况的1.5倍。这是假设x和y都是长数组。

添加代码让你试着明白我的意思。您可以通过增加和减少变量“offset(try offset=1 and offset=0)”来偏移数组x;代码将在文件beta中存储循环的执行时间。

代码为:

#include <iostream>
#include <array>
#include <time.h>
#include <math.h>
using namespace std;
#define MAX(x,y) ((x) > (y) ? (x) : (y))

int main()
{
ofstream myfile_Beta;
myfile_Beta.open ("Beta.txt");
clock_t begin_time = clock();
clock_t total_time;
srand (time(NULL));

double offset =0.0;

int m=0;
for(int k=0;k<10000;k++)
    {
    m=1;
    double M[75720],x[75720],y[75720];

    for (int i=0;i<75720;i++)
    {

        x[i]=+(rand()%1024)/1024.0* 1.0 + offset ;
        y[i]=+(rand()%1024)/1024.0* 1.0 + 0.00; 
    }
    begin_time = clock();
    for (int j=0;j<75720;j++)
    {
        M[j]=MAX(x[j],y[j]);
    }   
    total_time =clock () - begin_time;
    myfile_Beta <<float( total_time  )<<" "<<endl;
}
myfile_Beta.close ();
}

共有1个答案

师赤岩
2023-03-14

一种解释是,如果第一个条件适用,则跳变较少,

第二种解释涉及分支谓词,基本上,它可以“猜测”'<'结果并应用下一个代码,而不管结果如何,并在失败时处理它,因此当您有相同的情况发生相对较多时,编译器可以更经常地正确地猜测它。您可以在这里阅读有关它的更多信息:http://en.wikipedia.org/wiki/branch_predication

 类似资料:
  • 大家好,我是JavaScript的新手,我发现了一个基本问题: 当我在Python中使用这段代码时: 我得到 当我在JavaScript中执行同样的操作时,我会得到错误: 如何获得与Python相似的结果?

  • 问题内容: 稍微打错一下就遇到了这个问题(在Python 2.7.5中): 当它,我不小心爆炸了月亮。 我的理解是相当于和表现良好的类(如内置函数),相当于。 如果没有或运算符,那么我认为Python使用。 但是,这些方法都与工作对象,而与运营商 做 的工作。发生这种情况的原因是什么? 问题答案: 但是,当<和>运算符起作用时,这些方法都不能与函数对象一起起作用。发生这种情况的原因是什么? 在任何

  • 概述 比较运算符用于比较两个值的大小,然后返回一个布尔值,表示是否满足指定的条件。 2 > 1 // true 上面代码比较2是否大于1,返回true。 注意,比较运算符可以比较各种类型的值,不仅仅是数值。 JavaScript 一共提供了8个比较运算符。 > 大于运算符 < 小于运算符 <= 小于或等于运算符 >= 大于或等于运算符 == 相等运算符 === 严格相等运算符 != 不相等运算符

  • 我的语句似乎抛出了语法错误。我已经阅读了语句应该如何编写(以及脚本中的其他语句没有问题),因此我不确定为什么会有问题。 <代码>

  • 本文向大家介绍Elixir比较运算符,包括了Elixir比较运算符的使用技巧和注意事项,需要的朋友参考一下 示例 平等: 价值平等x == y(1 == 1.0 # true) 价值不平等x == y(1 != 1.0 # false) 严格平等x === y(1 === 1.0 # false) 严格不等式x === y(1 !== 1.0 # true) 比较: x > y x >= y x

  • MongoDB比较运算符用于测试等于或不等于,还有其它更高级的运算符。 在子句中使用比较运算符来确定要选择的记录。以下是可以在MariaDB中使用的比较运算符的列表: 语法及示例 - 编号 比较运算符 描述 示例 1 比较等于 2 比较等于(安全比较值) 3 比较不等于 4 比较不等于 5 比较大于 6 比较大于或等于 7 比较小于 8 比较小于或等于 9 匹配列表中的值 10 否定一个条件 11

  • 主要内容:1) 等于运算(=),2) 安全等于运算符(<=>),3) 不等于运算符(<> 或者 !=),4) 小于等于运算符(<=),5) 小于运算符(<),6) 大于等于运算符(>=),7) 大于运算符(>),8) IS NULL(ISNULL) 和 IS NOT NULL 运算符,9) BETWEEN AND 运算符,总结当使用 SELECT 语句进行查询时, MySQL 允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NUL

  • 主要内容:== 和 is 的区别比较运算符,也称关系运算符,用于对常量、变量或表达式的结果进行大小比较。如果这种比较是成立的,则返回 True(真),反之则返回 False(假)。 True 和 False 都是 bool 类型,它们专门用来表示一件事情的真假,或者一个表达式是否成立,我们将在《Python bool布尔类型》中详细讲解。 Python 支持的比较运算符如表 1 所示。 表 1 Python 比较运算符汇总 比较