Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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_Arrays_Algorithm_Data Structures - Fatal编程技术网

我怎样才能从这个Java程序中得到一个解决方案来解决这个算法?

我怎样才能从这个Java程序中得到一个解决方案来解决这个算法?,java,arrays,algorithm,data-structures,Java,Arrays,Algorithm,Data Structures,下面是我将编译和运行的代码,以查看它是否会提供解决此问题所需的一些缺少的变量 @dorakta如果您对代码块中操作分类的关注。以下可能是一个起点 第1行:对于(int=0;i@dorakta,如果您关心代码块中操作的分类,请参阅)。以下可能是一个起点 第1行:for(int=0;iTo me,查找“绝对速度”意思是你运行它,看看它花了多长时间。你有什么想法?@KevinAnderson这些步骤确定每行代码的指令类型,要么是内存访问,要么是非内存访问,然后你需要确定每行代码将执行多少次。然后你将每

下面是我将编译和运行的代码,以查看它是否会提供解决此问题所需的一些缺少的变量

@dorakta如果您对代码块中操作分类的关注。以下可能是一个起点


第1行:对于(int=0;i@dorakta,如果您关心代码块中操作的分类,请参阅)。以下可能是一个起点


第1行:for(int=0;iTo me,查找“绝对速度”意思是你运行它,看看它花了多长时间。你有什么想法?@KevinAnderson这些步骤确定每行代码的指令类型,要么是内存访问,要么是非内存访问,然后你需要确定每行代码将执行多少次。然后你将每行代码的访问次数相加,得到两次:100每一条内存访问指令都是纳秒,每一条非内存访问指令都是10纳秒你指的是Java代码还是编译字节码?@Kevin Anderson我指的是Javacode@KevinAnderson第1行将执行10000000000次,是内存访问,第2行永远不会执行,因此是非内存访问,第3行不会执行,因为第二行中有if语句。对我来说,找到“绝对速度”意思是你运行它,看看它花了多长时间。你有什么想法?@KevinAnderson这些步骤确定每行代码的指令类型,要么是内存访问,要么是非内存访问,然后你需要确定每行代码将执行多少次。然后你将每行代码的访问次数相加,得到两次:100每一条内存访问指令都是纳秒,每一条非内存访问指令都是10纳秒你指的是Java代码还是编译字节码?@Kevin Anderson我指的是Javacode@KevinAnderson第1行将执行10000000000次,是内存访问,第2行将永远不会执行,因此是非内存访问,第3行将不会执行,因为第二行中有if语句。非常感谢!因此总绝对速度将是610秒,因为T=Tna X Nna(10 X 1)+Ta X Na(100 X 6);非常感谢!所以总绝对速度是610秒,因为T=Tna X Nna(10 X 1)+Ta X Na(100 X 6);
for(int=0; i<1,000,000; i++)
{
     if(data[i]< 0)
        data[i]= data[i] * 2; 
}
T=Tna X Nna + Ta X Na; 

Tna= the time to execute a memory nonaccess instruction; 
Nna= the number of memory nonaccess machine language instructions executed; 
Ta= the time to execute a memory access instruction;
Na= the number of memory access machine language instructions executed;
1000000 times of 
2 - memory access (1 read and 1 assign)
1 - compare
1 - incr (depends. It could be -> 1 read and 1 add)
1000000 times of 
2 - memory access
1 - compare
Hence, 1000000 times.
2 - memory access (1 read and 1 assign)
1 multiply