数据结构——三分钟让你学会计算时间复杂度

数据结构——时间复杂度

🏖️专题:数据结构专题
🙈作者:暴躁小程序猿(原创)
⛺简介:双非本科大二小菜鸟一枚,希望和大家一起进步~

在这里插入图片描述



前言

  本篇博客将涉及数据结构中时间复杂度的相关知识,包括什么是时间复杂度,时间复杂度的计算,时间复杂度的对比等,也正式意味着开始进入数据结构板块的学习。


一、什么是时间复杂度?

1.1算法效率

  算法效率分析有两种:一种是时间效率,一种是空间效率。时间效率被称为时间复杂度,空间效率就是空间复杂度,时间复杂度主要衡量一个算法的运行速度,而空间复杂度主要衡量一个算法所需的额外空间。在计算机发展的早期,存储空间很小,所以往往需要考虑空间复杂度,但是随着计算机快速的发展,计算机的存储容量已经达到了很高的程度,所以我们往往不考虑空间复杂度。

1.2时间复杂度的概念

时间复杂度的定义:
  在计算机科学中,算法的时间复杂度是一个函数,它定理描述了该算法的运行时间,一个算法执行所消耗的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道,但是我们每个算法都必须上机测试吗?太麻烦了,所以才有了时间复杂度这个分析方法,一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度

二、 大O的渐进表示法

代码如下(示例):

// 请计算一下Func1基本操作执行了多少次?
void Func1(int N)
{
   
	int count = 0;
for (int i = 0; i < N ; ++ i)
{
   
	for (int j = 0; j < N ; ++ j)
{
   
	++count;
}
}
for (int k = 0; k < 2 * N ; ++ k)
{
   
++count;
}
	int M = 10;
while (M--)
{
   
	++count;
}
	printf("%d\n", count)
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴躁小程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值