Skip to content

2.3 时间复杂度 1. 常数阶 0(1) C语言代码出现多余外部变量 i #1907

Description

@mazezen

位置: 第2章 第3节 时间复杂度

  1. 常数阶 O(1)

    常数阶的操作数量与输入数据大小
    无关,即不随着
    的变化而变化。

在以下函数中,尽管操作数量 size 可能很大,但由于其与输入数据大小
无关,因此时间复杂度仍为 :
/* 常数阶 */ int constant(int n) { int count = 0; int size = 100000; int i = 0; for (int i = 0; i < size; i++) { count++; } return count; }

描述:
这里 for 循环里的 int i = 0 定义了一个新的局部变量 i,它的作用域只在 for 循环内部。
也就是说:

外面的 int i = 0; 并没有被用到,它完全可以省略。
循环结束后,内部的 i 就消失了,外面的 i 仍然存在,但在你的函数里没有用到。

所以 外面的 int i = 0; 可以删掉

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions