首页 > 其他分享 >空间复杂度

空间复杂度

时间:2023-12-17 14:45:10浏览次数:23  
标签:end exchange int 复杂度 空间 size

空间复杂度概念:

和时间复杂度一样,时对一个算法在运行过程中临时占用存储空间大小的量度。

空间复杂度不是程序占用了多少bytes的空间,因为这也没什么意义,所以空间复杂度算的是变量的个数,也使用大O监禁表示法。

void BubbleSort(int * a,in n){

assert(a)
for(size_t end=n;end>0;--end){

int exchange =0;
for(size_t i=1;i<end;++i){
if(a[i-1)>a[i])
{

Swap(&a[i-1],&a[i]);
exchange=1;
}

}

if(exchange == 0) break;

}

}

答案O(1)

解析:

这里其实总共开辟了三个空间,分别为end.exchange,i;

既然时常数个变量,那么空间复杂度就是O(1),空间复杂度算的时申请的额外空间

苏哦提跟上面的int *a和int n没有关系。

可能有人觉得这个for循环,exchange应该开辟n次,其实每次循环进来,exchange 都会重新开辟,结束一次循环exchange销毁,以此类推,exchange始终时同一个空间。

 

 

什么时候会出现O(n)呢?

 

标签:end,exchange,int,复杂度,空间,size
From: https://www.cnblogs.com/aixin52129211/p/17909053.html

相关文章

  • 2023-2024-1 20232315 《网络空间安全导论》第六周学习总结
    一、教材学习内容总结近一周我预习了第六章应用安全基础,了解了相关知识,下面本章思维导图: 二、教材学习中的问题和解决过程问题一:虚拟化主要有哪些方式解决方法:百度搜索总结答案:虚拟化有很多实现方式,比如:根据虚拟化的程度和级别,有软件虚拟化和硬件虚拟化,全虚拟化和半虚拟......
  • 涉及到 List 集合的查询优化时,通常需要考虑集合的大小、查询的复杂度以及数据访问的模
    Java开发中,当涉及到List集合的查询优化时,通常需要考虑集合的大小、查询的复杂度以及数据访问的模式。以下是一些常见的优化技巧。使用StreamAPI进行并行查询StreamAPI可以很容易地并行化查询操作,这对于大规模数据集的查询非常有用。以下是一个并行查询的示例:importjava.ut......
  • 数据结构时间复杂度
    复杂度分为时间复杂度和空间复杂度时间复杂度概念:若存在函数f(n)记作T(n)=O(f(n)).称O(f(n))为时间复杂度。T(n)为常熟操作执行次数简单理解,时间复杂度就是把T(n)简化为一个数量级,这个数量级可能为n,n^2`````` 1.常数阶这种与问题规模的大小无关(n的多少),执行时间恒定......
  • 2023-2024-1 20232320 《网络空间安全导论》第六周学习总结
    教材学习内容总结本章主要聚焦于应用安全,具体分为身份认证与信任管理、隐私保护、云计算及其安全、区块链与安全、人工智能及其安全等多个方面,从用户端、服务端等不同视角描述了如何保障应用安全。我们体会到其重要性和实用性,在各个领域都有不可忽视的地位,在历史上,由于这些方面的......
  • 2023-2024 20232319《网络空间安全导论》第6周学习总结
    思维导图学习内容挖掘身份认证与信息管理身份认证的主要方法1.用户名/口令:例如QQ微信密码等,其实质是口令,而非真正意义上的密码。2.动态口令/一次性口令:短信验证码,邮件验证码。3.挑战应答认证:非对称密码及数字签名的应用。4.基于生物特征和物性特征:指纹认证,人脸认证,声纹认......
  • 2023-2024-1 20232310 《网络空间安全导论》第六章学习
    教材内容学习总结教材学习过程中的问题和解决过程问题1:不理解半虚拟化解决过程:通过询问ChatGPT对半虚拟化有了初步概念,并获知wsl就是半虚拟化的一种,从而对半虚拟化有了更加具体的认识。问题2:什么叫去中心化?解决方案:询问ChatGPT。了解到去中心化是指从原本的中......
  • 2023-2024-120232325《网络空间安全导论》第六周学习
    教材内容总结问题1.零信任模型的优缺点:优点:提供了更高的安全性:零信任模型将网络安全的重点放在身份验证和授权上,可以更好地防止未经授权的访问和数据泄露。降低了内部威胁:零信任模型不信任任何用户或设备,因此即使是内部人员也需要经过严格的身份验证才能访问敏感信息,可以减......
  • (学期2023-2024.1;学号:20232300)《⽹络空间安全导论》第6周学习总结
    第6章应用安全基础应用安全是为保障各种应用系统在信息的获取、存储、传输和处理各个环节的安全所涉及的相关技术的总称。密码技术是应用安全的核心支撑技术,系统安全技术与网络安全技术则是应用安全技术的基础和关键技术。应用安全涉及如何防止身份或资源的假冒、未经授权的访......
  • 2023-2024-1 20232404《网络空间安全导论》第6周学习总结
    教材学习内容总结6.1应用安全概述身份认证是保障应用安全的基础。麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合。云计算造成了数据所有权和管理权的分离。6.2身份认证与信任管理动态口令需......
  • 2023-2024-1 20232311 《网络空间安全导论》第六章学习
    教材学习内容总结思维导图教材学习中的问题和解决过程问题1:什么叫去中心化?问题1解决方案:询问ChatGPT。了解到去中心化是指从原本的中心化结构或中心机构中移除“中心”或“权威”的过程,使得权力、控制和决策权分散化。问题2:什么是容器?问题2解决方案:询问ChatGPT。容器将应用......