记录一下在牛客的学习生活吧!

这一篇博客是我的第一篇博客,我就想着从今天开始,试着用博客记录下我的日常学习生活。

2021.1.11
今天学习了程序的时间复杂度,空间复杂度,并尝试着去计算一个程序的时间复杂度与空间复杂度;
一般情况下,时间复杂度可以直接计算,时间复杂度分为几种,例如冒泡排序的时间复杂度的计算:
for(int i=0;i<n;i++){
for(int j=0;j<n-i;j++){}}:
它的时间复杂度就是g(n)=(n-1)c+(n-2)c+(n-3)c+...+c;
可以用等差公式,那么g(n)=1/2(n-1+1)n,用O表示则为O(n^2),既冒泡排序的时间复杂度为O(n^2);
再举个例子;
for(int i=0;ii<n;i++);
这个循环的时间复杂度就位O(根号n);
空间复杂度:
我们直接举几个例子进行计算,开了一个大小为10^6的int型数组,那么对应数组的空间为多大?
int 是4个字节,8位==1个字节,1024字节==1KB,1024KB==1MB,1024MB==1GB.
该数组的大小为4
10^6/(10^3*10^3);大小即为4MB左右。

所以平时的程序的时间复杂度以及空间复杂度是可算的。

全部评论

相关推荐

醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务