如何计算使用了框架库函数的程序的复杂性

本文关键字:程序 复杂性 库函数 框架 计算使用 | 更新日期: 2023-09-27 18:00:18

public void ABC()
    {
         string inputString = "Programming C#";
         // Complexty = O(1) or O(n)  
            int length = inputString.Length;
        // Complexity = O(1) or O(n)
           bool found = inputString.Contains('#');
    }

上面的程序使用一个内置的属性来获取长度并包含函数。内置函数将使用循环来查找字符串中的字符,但当我们直接使用该函数时,我们是否认为该函数调用为O(1(?

谢谢。

如何计算使用了框架库函数的程序的复杂性

假设n是字符串的长度,则需要包含所有调用函数的实际复杂性。否则,您将无法获得整体复杂性的正确结果。

不太确定,但我猜它将是O(n(,而不是O(1(。

有一种统计方法可以(几乎(确定它。。。写一段代码以编程方式增加字符串长度,比如第一个字符串是"p",第二个字符串是-"pr",第三个字符串是——"pro"。。。对于大量数据也是如此(如果您还想检查contains方法,请将"#"嵌入到字符串中(。。。记录每个操作的开始和结束时间,并绘制不断增加的字符串长度的时间响应。。。

响应应该与程序使用的任何逻辑的复杂性紧密对应。毕竟,这就是复杂性的含义。。。响应时间相对于输入大小的增长率。