(数据结构)快速了解时间复杂度和空间复杂度

embedded/2024/10/22 15:34:20/

一、时间复杂度

当计算时间复杂度时,通常需要考虑算法中的循环次数、递归深度等因素。以下是一些常见时间复杂度的示例:

  1. O(1):常数时间复杂度,表示算法的执行时间是固定的,与输入规模无关,比如直接访问数组中的某个元素。

  2. O(log n):对数时间复杂度,通常出现在二分查找等算法中,每次迭代减少一半的数据规模。

  3. O(n):线性时间复杂度,算法的执行时间与输入规模成正比,比如遍历数组中的所有元素。

  4. O(n log n):线性对数时间复杂度,通常出现在快速排序、归并排序等分治算法中。

  5. O(n^2):平方时间复杂度,通常出现在嵌套循环中,比如冒泡排序、选择排序等。

  6. O(2^n):指数时间复杂度,通常出现在递归算法中,每次递归调用会产生指数级增长。

  7. O(n!):阶乘时间复杂度,通常出现在全排列等需要枚举所有可能情况的算法中。

二、空间复杂度

计算算法的空间复杂度通常需要考虑算法在执行过程中所使用的额外空间大小,不包括输入数据占用的空间。以下是一些常见的空间复杂度示例:

  1. O(1):常数空间复杂度,表示算法的额外空间使用是固定的,与输入规模无关,比如只使用了常数个变量。

  2. O(n):线性空间复杂度,表示算法的额外空间使用与输入规模成正比,比如需要存储与输入规模相同数量的数据。

  3. O(n^2):平方空间复杂度,通常出现在二维数组等需要存储二维数据结构算法中。

  4. O(log n):对数空间复杂度,通常出现在递归算法中,每次递归调用会产生对数级别的额外空间使用。

  5. O(m + n):表示算法的空间复杂度与不同输入规模的变量相关,比如需要存储两个不同长度的数组。


http://www.ppmy.cn/embedded/41012.html

相关文章

AI游戏外挂为何违法?

尊敬的读者们,大家好!今天我想和大家探讨一个备受争议的话题——AI游戏外挂的合法性。近年来,随着人工智能技术的飞速发展,AI外挂逐渐成为游戏领域的一大毒瘤。那么,为什么AI游戏外挂会被视为违法行为呢?本…

数据结构与算法学习笔记之线性表三---单链表的表示和实现(C++)

目录 前言 一、顺序表的优缺点 二、单链表的表示和实现 1.初始化 2.清空表 3.销毁 4.表长 5.表空 6.获取表中的元素 7.下标 8.直接前驱 9.直接后继 10.插入 11.删除 12.遍历链表 13.测试代码 前言 这篇博客主要介绍单链表的表示和实现。 一、顺序表的优缺点 线…

milvus插入数据时,明明不超长,但总是报长度错误?

在处理插入milvus数据时,设置了字段长度为512. 明明考虑了预留,插入的数据中没有这么长的,但还是会有报错 类似:MilvusException: (code0, messagethe length (564) of 78th string exceeds max length (512) 查找max(len(x) for …

探索微软Edge

探索微软Edge 引言 微软Edge作为Windows系统的默认浏览器,自2015年首次发布以来经历了多次重大更新。最引人注目的变化是,微软在2018年宣布将Edge浏览器内核从自家的EdgeHTML更换为开源的Chromium,这一转变极大地扩展了Edge的功能和市场竞争…

不好!有敌情,遭到XSS攻击【网络安全篇】

XSS:当一个目标的站点,被我们用户去访问,在渲染HTMl的过程中,出现了没有预期到的脚本指令,然后就会执行攻击者用各种方法注入并执行的恶意脚本,这个时候就会产生XSS。 涉及方: 用户&#xff0…

算法-java

题目来自牛客网 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围: 0≤𝑛≤10000≤n≤1000,−1000≤节点值≤1000−1000≤节点值≤1000 要求:空间复杂…

口碑最好的麦克风品牌有哪些?多款高口碑无线领夹麦克风推荐

从直播、拍摄到采访,音频设备对于我们的生活越来越重要,想要拥有更清晰、真实的录音效果,一款优质的无线领夹麦克风肯定是必不可少的,其轻便小巧的特性,不仅适用于手机和相机的直播、录音需求,同时也能满足…

【PyTorch】torch.backends.cudnn.benchmark 和 torch.backends.cudnn.deterministic

1. torch.backends.cudnn.benchmark 在 PyTorch 中,torch.backends.cudnn.benchmark 是一个配置选项,用于在运行时自动选择最优的卷积算法,以提高计算效率。这个设置特别针对使用 CUDA 和 cuDNN 库进行的运算,并在使用具有变化输…