gpt4 book ai didi

c++ - 在 C++ 中复制变量的复杂性是什么

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:37 24 4
gpt4 key购买 nike

我的一个 friend 说位掩码比位集好,因为它需要 O(N) 的时间来复制一个位集,而只需要 O(1) 的时间来复制一个位掩码,这使得它对于动态编程等应用程序来说要快得多。所以我想知道所有其他数据类型是否都一样?

例如,这段代码的复杂度是多少?

vector <int> vec1 = {1,2,3,4,5,6,7,8,9,10};
vector <int> vec2 = vec1;

如果是O(N),为什么会这样?难道不应该是 O(1) 就像做这样的事情吗

int x = 530210;
int y = x;

会是吗?

最佳答案

你有 vec1这是 std::vector<T>以这辆卡车为代表,拖车上附有一个黑色容器

enter image description here

(来源:bigcommerce.com)

现在,它的black-container 中有数百万篇论文(由black-containerstd::vector<T> 对元素的内存)。现在,您想将文件复印到另一个类似的车辆中,vec2 .你能做到多好? photo-copy 的复杂度是多少?这将是O(论文数量)


现在,假设您要移动 内容...全部std::vector需要做的是将它的黑色容器从卡车上拆下,然后将其连接到另一辆卡车的......这使得容器的移动复杂性为O (1)

关于c++ - 在 C++ 中复制变量的复杂性是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41520379/

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