珺珺学算法(1)算法概述及复杂度分析

本文介绍了算法的基本概念,包括输入、输出、确定性和有限性,并阐述了算法的时间复杂性与空间复杂性的定义。重点讨论了时间复杂性分析,特别是渐进表示法,如O表示法,并提供了示例进行说明。此外,还提及了空间复杂性分析,指出其通常侧重于时间复杂性的分析。
摘要由CSDN通过智能技术生成

珺珺期末考试刚考完,打算温习一遍算法分析与设计课程的内容。

一、什么是算法?

算法(Algorithm)是指解决问题的方法或过程,它包含一系列步骤,用来将输入数据转换成输出结果。

算法具有以下性质:

输 入:有零个或多个输入

输 出:至少有一个输出

确定性:组成算法的每条指令清晰、无歧义

有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限

程序:是算法用某种程序设计语言的具体实现,程序不一定满足有限性

算法复杂性 :算法所需要的计算机资源

算法的时间复杂性T(n):如果问题的规模为n,在算法输入为I时算法所需的时间资源为T(N,I) ,T(N,I)称为算法的时间复杂性

算法的空间复杂性S(n):如果问题的规模为n,在算法输入为I时算法所需的空间资源为S(N,I) ,S(N,I)称为算法的空间复杂性

算法分析:分析算法复杂性的过程

空间复杂性分析相对比较简单,通常主要分析时间复杂性

二、时间复杂性分析

时间复杂性渐进表示法
算法复杂性的渐近性态:对于F(N),如果存在F’(N),使得当N→∞时有:
(F(N )-F’(N )) / F(N ) → 0
在这里插入图片描述

渐近意义下的记号:O、Ω、θ、o
通常我们用大写的O(即阶的英文单词order的首字母)来渐进表示算法时间复杂性。
O表示法:
在这里插入图片描述
示例如下:
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值