相关疑难解决方法(0)

如何找到算法的时间复杂度

问题

如何找到算法的时间复杂度?

在SO上发布问题之前我做了什么?

我走过了这个,和许多其他链接

但是,我没有能够找到关于如何计算时间复杂度的明确而直接的解释.

我知道什么 ?

假设代码如下所示:

char h = 'y'; // This will be executed 1 time
int abc = 0; // This will be executed 1 time
Run Code Online (Sandbox Code Playgroud)

说一个像下面这样的循环:

for (int i = 0; i < N; i++) {        
    Console.Write('Hello World !');
}
Run Code Online (Sandbox Code Playgroud)

int i = 0; 这只会执行一次.实际计算时间i=0而不是声明.

我<N; 这将执行N + 1

i ++; 这将被执行N

所以这个循环所需的操作数量是

{1+(N + 1)+ N} = 2N + 2

注意:这仍然可能是错误的,因为我对计算时间复杂度的理解没有信心

我想知道什么? …

algorithm complexity-theory time-complexity

845
推荐指数
8
解决办法
63万
查看次数

了解Javascript/V8中的字符串堆大小

有没有人对使用Chrome(V8)的Javascript中如何确定字符串的堆大小有很好的理解/解释?

我在堆转储中看到的一些示例:

1)具有不同@对象ID 的相同2个字符串(即"dt")的多个副本全部被指定为OneByteStrings.heapdump表示每个副本都有一个浅的&保留大小为32个字节.目前尚不清楚两个字节的字符串如何保留大小为32以及为什么字符串似乎没有被实现.

2)长对象路径字符串,长度为78个字符.所有字符都是utf8中的单个字节.它被归类为InternalizedString.它有一个184字节的保留大小.即使使用2字节字符编码仍然不能解释剩余的28个字节.为什么这些路径字符串占用了这么多空间?我可以想象另外4个字节(可能是8个)用于地址,另外4个用于存储字符串长度,但即使使用2个字节的字符编码,仍然会留下16个字节.

javascript string v8

5
推荐指数
1
解决办法
1006
查看次数