gpt4 book ai didi

c - 字符数组初始化的时间复杂度是多少?

转载 作者:行者123 更新时间:2023-12-01 12:57:51 24 4
gpt4 key购买 nike

像往常一样阅读资料时,我想到了这个问题。如果我有一个像下面这样的字符数组初始化,这个语句的时间复杂度是多少?

char array[] = {'a','b','c','d','e'};

它实际上会执行5次来分配每个变量吗?正如我们在循环中所做的那样。如果假设成立,为什么会这样?

最佳答案

根据声明发生的位置和编译器的智能,它可能是 O(1) 或 O(n)。一些情况:

  1. 全局声明,智能编译器会把它放在数据段,已经初始化,因此O(1)
  2. 局部声明,如果被证明只能被智能编译器读取,它可能像上面那样,加上对数组的引用赋值,但仍然是 O(1)
  3. 本地声明,读写,可以是存储分配 + 5 赋值(显然是 O(n) 或存储分配 + 数组数据复制(如 2,但数据被复制而不仅仅是引用)。后者可以是 O (1) 使用矢量化代码(好吧……或多或少,因为它取决于很多东西)

关于c - 字符数组初始化的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8677019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com