小编otu*_*tus的帖子

计算具有3个循环的算法的复杂性

我试着解决以下练习:

以下代码片段的最坏情况运行时间的增长顺序是N的函数是多少?

int sum = 0;
for (int i = 1; i <= N; i++)
    for (int j = 1; j <= i*i; j++)
        for (int k = 1; k <= j*j; k++)
            sum++;
Run Code Online (Sandbox Code Playgroud)

我发现复杂度是O(n 4),但正确的答案是:

答案是:N 7

对于给定的i值,最内循环的主体执行1 2 + 2 2 + 3 2 + ... +(i 2)2 ~1/3 i 6次.总结i的所有值得到~1/21 N 7.

我想帮助理解这个答案以及在这种情况下计算复杂性的正确方法.

编辑:特别是,我不明白这句话:

1 2 + 2 2 + 3 2 + ... +(i 2)2 ~1/3 i 6

因为对我来说, …

algorithm complexity-theory time-complexity

4
推荐指数
1
解决办法
926
查看次数

以编程方式将下拉列表添加到特定单元格

我想知道如何使用 VBA 以编程方式将下拉列表添加到 Excel 工作表的特定单元格,例如,我希望能够向单元格 (i,j) 添加下拉列表并定义列表的元素。

excel vba

4
推荐指数
1
解决办法
3万
查看次数

使标签宽度适应文本

我基本上以编程方式生成许多带有从文本文件中读取的文本的标签,所以我想知道如何以编程方式使标签的宽度适应其文本。

excel vba

2
推荐指数
1
解决办法
3123
查看次数

自动调整列表框列宽

我使用以下代码以编程方式将数据库中的元素添加到多列列表框:

Do While (Not rs.EOF) 

        ExistingSheetsListBox.AddItem
        ExistingSheetsListBox.List(i, 0) = rs.Fields(0)
        ExistingSheetsListBox.List(i, 1) = rs.Fields(1)
        ExistingSheetsListBox.List(i, 2) = rs.Fields(2)
        ExistingSheetsListBox.List(i, 3) = rs.Fields(3)
        ExistingSheetsListBox.List(i, 4) = rs.Fields(4)

        i = i + 1

        rs.MoveNext
Loop
Run Code Online (Sandbox Code Playgroud)

列表框中的插入工作正常,但列宽并不总是适应插入其中的元素的长度,我想知道如何才能使每列的列宽适应插入的文本它。

编辑:我使用了@Excel Developers提出的解决方案以及@HarveyFrench给出的代码段。

excel vba

1
推荐指数
1
解决办法
3万
查看次数