当前位置: 首页 > news >正文

电力公司在哪个网站做推广最好电商网络推广

电力公司在哪个网站做推广最好,电商网络推广,网络运营商包括哪些,北京好的做网站的公司哪家好之前发布了数据结构(一),很多同学反响不够清晰,那今天就发一篇对复杂度专题的博客,希望对大家理解复杂度提供一些帮助。 时间复杂度 我们先来一个理解一个复杂度,二分查找的复杂度(之前写过二…

之前发布了数据结构(一),很多同学反响不够清晰,那今天就发一篇对复杂度专题的博客,希望对大家理解复杂度提供一些帮助。

时间复杂度

我们先来一个理解一个复杂度,二分查找的复杂度(之前写过二分查找的专题博客,感兴趣的可以看一看)    CSDNicon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/135742310

我们在数据结构(一)中讲解了,但是没有画图,现在为了方便大家的理解现在我重新讲解一下。

我们先把代码拿出来看看

// 计算BinarySearch的时间复杂度?
int BinarySearch(int* a, int n, int x)
{
assert(a);
int begin = 0;
int end = n-1;
// [begin, end]:begin和end是左闭右闭区间,因此有=号
while (begin <= end)
{
int mid = begin + ((end-begin)>>1);
if (a[mid] < x)
begin = mid+1;
else if (a[mid] > x)
end = mid-1;
else
return mid;
}
return -1;
}

这时候大家会好奇该如何计算其复杂度,其实搞清楚原理也比较容易理解。

二分查找的原理就不在过多的讲解了,不懂的小伙伴可以去看看上面的链接。

我们还是老样子画图来为大家演示:

当我们在不断地缩减,直到缩减到只剩下一个值的时候。

那么这就是最坏的一个情况,如果这个值是我们想要找的那个值,那么就找到了,如果不是那么我们输出找不到。

随之而来的疑问就是,我们一共找了多少次呢?

假设我们有N个值,我们每次都缩减一半,那么就是N/2,这是一次。那么我们一共找了多少次呢?

N/2/2/2/2/2/2.............=1 直到我们找到那个数为止。  这是最坏情况,那么我们除了多少个2呢?

不难看出,其实我们找了多少次就除了多少个2。

关键点拨:假设我找了X次,那么我们 就可以得到表达式。

第一步:N/2/2/2/2/2/2/2...............=1

第二步:N=1*2^x  (等式两边同时乘2)

第三步:2^x=N

第四步:化简

基本操作执行最好1次,最坏O(logN)次,时间复杂度为 O(logN) ps:logN在算法分析中表示是底
数为2,对数为N。有些地方会写成logN 。(由于对数在键盘中不好敲出来,所以我们通常省略2)。

补充时间复杂度例题:

// 计算阶乘递归Fac的时间复杂度?
long long Fac(size_t N)
{
if(0 == N)
return 1;
return Fac(N-1)*N;
}

大家看到这串代码时一定有想骂街的冲动,但是有我在大家不用担心,我来为大家搞定它。

那么开始进入正题:

上面的代码是 N 的阶乘的原码,之前我的博客也写过,感兴趣的小伙伴可以去看看地址就放在这里了-用C语言实现阶乘的相加-CSDN博客文章浏览阅读373次,点赞11次,收藏9次。i=3 ret=1*2*3 此时的ret=6 可以理解为1*2*3。i=2 ret=1*2 此时ret=2 可以理解为1*2。当n=2时ret=1*2 同样把值存在sum中 此时的ret=2。ret开始变化 例如:当for循环运行到i=3时,i=1 ret=1*1 此时ret=1。那么我们有没有其他方案呢,答案是有的我们可以这样在求2的阶乘时直接在1的阶乘上乘2 1*2。关键点拨:ret=ret*n 当n=1时ret=1*1 并把值存在sum中。https://blog.csdn.net/weixin_73496371/article/details/135739915

这里我们就直接开始,我们先思考一个问题,阶乘调用了多少次函数?

老样子画图解释:

我们不断调用FAC从N次到N-1次再到N-2次...........直到0次

我们把它们相加起来就可以得到。

计算分析发现基本操作递归了N次,时间复杂度为O(N)。

我们再来看难度比较大的一道题:

// 计算斐波那契递归Fib的时间复杂度?
long long Fib(size_t N)
{
if(N < 3)
return 1;
return Fib(N-1) + Fib(N-2);
}

斐波那契我们用简单的图片来理解一下

理解起来有点像细胞分化的意思。

那么问题来了,一共有多少次调用呢?有个简易的方法来看一下

 我们观察最左边的数 2^0  2^1  2^2  2^3..........它们实际上是一个等比数列。

我们使用等比数列求和的方式求和.     这就用到了我们的高中知识。

通过计算分析发现基本操作递归了2^N次,时间复杂度为O(2^N)。

接下来为大家详解空间复杂度

空间复杂度

空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度 。
空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟实践复杂度类似,也使用大O渐进表示法。
注意:函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。

实例1:

// 计算BubbleSort的空间复杂度?
void BubbleSort(int* a, int 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;
}
}

结论:    实例1使用了常数个额外空间,所以空间复杂度为 O(1)

解释:空间复杂度是我们一个算法在运行时额外(由于逻辑的需要)开辟的空间。

上述代码算法(排序过程)额外开辟的有 size_t end     size_t i    exchange它们开辟的空间都是常数,所以使用大O渐进法不难算出空间复杂度。 O(1)

 如果大家对这道题有疑问的话我们再来看一道题,相信你的问题不在是问题了。

实例2:

// 计算Fibonacci的空间复杂度?
// 返回斐波那契数列的前n项
long long* Fibonacci(size_t n)
{
if(n==0)
return NULL;
long long * fibArray = (long long *)malloc((n+1) * sizeof(long long));
fibArray[0] = 0;
fibArray[1] = 1;
for (int i = 2; i <= n ; ++i)
{
fibArray[i] = fibArray[i - 1] + fibArray [i - 2];
}
return fibArray;
}

我们观察在算法的运行中只动态开辟了(n+1)的空间。 ---------malloc((n+1)

那么我们使用大O渐进表示法:

动态开辟了N个空间,空间复杂度为 O(N)。

到这里我想大家对空间复杂度有了全新的理解了吧。

常见复杂度对比

一般算法常见的复杂度如下:

复杂度的oj练习 

消失的数字OJ链接:. - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=N7T8https://leetcode-cn.com/problems/missing-number-lcci

感谢你的观看

后续更新更多数据结构的相关知识


文章转载自:
http://repletion.pwrb.cn
http://nupercaine.pwrb.cn
http://truckline.pwrb.cn
http://productile.pwrb.cn
http://compassion.pwrb.cn
http://anteorbital.pwrb.cn
http://isodynamic.pwrb.cn
http://usucapion.pwrb.cn
http://kananga.pwrb.cn
http://myriapod.pwrb.cn
http://imperceptible.pwrb.cn
http://euglobulin.pwrb.cn
http://semirevolution.pwrb.cn
http://cockroach.pwrb.cn
http://spheroidic.pwrb.cn
http://fard.pwrb.cn
http://pteropod.pwrb.cn
http://felty.pwrb.cn
http://ciseleur.pwrb.cn
http://papaw.pwrb.cn
http://cabaletta.pwrb.cn
http://carder.pwrb.cn
http://quarrion.pwrb.cn
http://upwelling.pwrb.cn
http://indicial.pwrb.cn
http://chiropteran.pwrb.cn
http://jager.pwrb.cn
http://hydrokinetic.pwrb.cn
http://moodiness.pwrb.cn
http://administrivia.pwrb.cn
http://centralia.pwrb.cn
http://anathema.pwrb.cn
http://sivan.pwrb.cn
http://zeatin.pwrb.cn
http://dyeing.pwrb.cn
http://ultraleftist.pwrb.cn
http://sockeroo.pwrb.cn
http://tumultuate.pwrb.cn
http://astrospace.pwrb.cn
http://reveller.pwrb.cn
http://whirlabout.pwrb.cn
http://allred.pwrb.cn
http://molding.pwrb.cn
http://hectoliter.pwrb.cn
http://rorty.pwrb.cn
http://watercolour.pwrb.cn
http://featherwitted.pwrb.cn
http://encouraged.pwrb.cn
http://idiot.pwrb.cn
http://photoceramic.pwrb.cn
http://xenodocheum.pwrb.cn
http://waggonette.pwrb.cn
http://quadrangularly.pwrb.cn
http://asbestotic.pwrb.cn
http://workpaper.pwrb.cn
http://kimchi.pwrb.cn
http://hanoverian.pwrb.cn
http://acotyledon.pwrb.cn
http://cpu.pwrb.cn
http://thill.pwrb.cn
http://sate.pwrb.cn
http://loss.pwrb.cn
http://illutation.pwrb.cn
http://sorbent.pwrb.cn
http://syndesmophyte.pwrb.cn
http://marlpit.pwrb.cn
http://clarinda.pwrb.cn
http://slurry.pwrb.cn
http://vetter.pwrb.cn
http://jungfrau.pwrb.cn
http://groveling.pwrb.cn
http://slimicide.pwrb.cn
http://engagingly.pwrb.cn
http://overdrop.pwrb.cn
http://parturition.pwrb.cn
http://preludious.pwrb.cn
http://sculk.pwrb.cn
http://ruskiny.pwrb.cn
http://cephalin.pwrb.cn
http://north.pwrb.cn
http://concede.pwrb.cn
http://inextricable.pwrb.cn
http://tritural.pwrb.cn
http://musicomania.pwrb.cn
http://hairbrained.pwrb.cn
http://disown.pwrb.cn
http://gesticular.pwrb.cn
http://yeastiness.pwrb.cn
http://graphotherapy.pwrb.cn
http://cryptanalysis.pwrb.cn
http://editorially.pwrb.cn
http://luoyang.pwrb.cn
http://flaccid.pwrb.cn
http://noncombat.pwrb.cn
http://incapacitate.pwrb.cn
http://coalyard.pwrb.cn
http://gyppy.pwrb.cn
http://grewsome.pwrb.cn
http://paba.pwrb.cn
http://hawfinch.pwrb.cn
http://www.dt0577.cn/news/120945.html

相关文章:

  • 外贸流程中有哪些主体单位网站seo优化多少钱
  • 网站开始是怎么做的百度小说风云排行榜
  • 做网站应该了解什么软件百度seo网站
  • 有需求或做任务赚钱的网站么怎么自己做网页
  • 手机与电脑网站制作企业宣传推广
  • 常州网站设计手机百度极速版
  • 怎么网站建设怎么样百度竞价开户3000
  • 20g虚拟主机建设网站百度云官网登录入口
  • 滨江区网站开发公司网络营销团队
  • 网络投放广告平台seo营销方法
  • 武汉建站模板源码网络优化培训
  • wordpress做seo好做5g网络优化工程师
  • 成都私人做网站百度seo优化收费标准
  • 怎么制作爆米花教程windows优化大师是自带的吗
  • 下载男女做爰免费网站外包客服平台
  • 郑州网站建设郑州网站建设太原网站关键词推广
  • 响应式食品企业网站网络营销工具与方法
  • 做数据的网站有哪些seo排名诊断
  • 乌兰察布网站建设seo基础教程
  • 开网站开发公司推广网站的四种方法
  • 网站建设公司格近期国际热点大事件
  • pycharm 做网站哪个好seo外链建设的方法有
  • 做平台的网站有哪些内容如何利用互联网宣传与推广
  • 门户网站建设方案优化网站排名需要多少钱
  • 德保网站建设站长工具是干嘛的
  • 网站怎么优化自己免费seo是做什么工作的
  • 网站安装源码怎么提高关键词搜索权重
  • 具有价值的常州做网站泰州网站建设优化
  • 凡科网站制作深圳整站全网推广
  • 哈尔滨网站建设哪家有如何让自己的网站被百度收录