C++初探_STL特征的复杂度

“复杂度”描述了执行操作所需的时间,又快到慢依次为:

(1)编译时间;

(2)固定时间;

(3)线性时间。

若复杂度为编译时间:操作将在编译时执行,执行时间为0;

若复杂度为固定时间:操作发生在运行时,但是独立于对象中的元素数目(不受元素个数影响);

若复杂度为线性时间:此时,时间与元素数目成正比。

例子:

为何list容器和deque容器定义了push_front()函数(把元素移动到首位),而vertor没有?

        对于vector容器,要实现把一个新值放到所有元素最前面,那么就需要所有元素向后移动一位,从而腾出空间。这种操作的复杂度是“线性时间”,十分糟糕。而对于list和deque,属于“固定时间”。因此,“固定时间”复杂度的操作才会被实现。

相关推荐

  1. C++初探_STL特征复杂

    2024-05-16 07:50:09       33 阅读
  2. 对于C++STL及其时间复杂总结

    2024-05-16 07:50:09       20 阅读
  3. C++——时间复杂

    2024-05-16 07:50:09       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-16 07:50:09       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-16 07:50:09       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-16 07:50:09       82 阅读
  4. Python语言-面向对象

    2024-05-16 07:50:09       91 阅读

热门阅读

  1. Python利用wkhtmltopdf将网页上的文章保存为PDF文件

    2024-05-16 07:50:09       31 阅读
  2. react:memo、useMemo、useCallback的区别

    2024-05-16 07:50:09       34 阅读
  3. sklearn机器学习编程练习大全(一)

    2024-05-16 07:50:09       31 阅读
  4. NLP预训练模型:GPT-3深度解析

    2024-05-16 07:50:09       30 阅读
  5. 构建可扩展的Node.js应用

    2024-05-16 07:50:09       33 阅读
  6. uni-app 路由跳转方式

    2024-05-16 07:50:09       35 阅读