算法的时间复杂度

本文通过引例分析了一段伪代码的时间复杂度,探讨了O(n)的时间复杂度及其增长性,深入理解算法效率。
摘要由CSDN通过智能技术生成

一、引例

先看一段伪代码:

procedure main(arg):
	loop = arg
	for i in 0 to n do:
		statements 1
		statements 2
	next i
endprocedure

/*statements 1*/
procedure ProT(arg):
	for j in 0 to arg do:
		temp = j
	next j
endprocedure

/*statements 2*/
procedure ProS():
	loop = 1
endprocedure

现在计算它的时间复杂度。假设一条赋值语句的时间复杂度为1,则statements2的时间复杂度为1,statements1的时间复杂度为参数arg,在main中,时间复杂度为f = 1 + 1 + 2 + 3 + ... + n + n = 1/2 * n^2 + 3/2 * n + 1。


二、O(n)

f(n) = O(g(n)),表示当且仅当n>m时,|f(n)| <= c|g(n)|,c为常数。
<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值