[算法]什么算法?怎么衡量算法的好坏?

一 什么是算法?

在计算机领域中,算法是一系列的程序指令,用于处理特定的运算和逻辑问题.
衡量算法的好坏主要的指标是时间复杂度和空间复杂度

二 怎么衡量算法的优劣?

2.1时间复杂度

时间复杂度可以理解为,算法执行的基本次数,是对算法运行时间长短的衡量,但仅仅这么认为是不正确的,还需要符合以下规则:

  1. 如果运行时间是常数级,则用常数O(1)来表示
  2. 只保留时间函数中的最高阶项
  3. 如果最高阶项存在,则省略最高限项系数去掉

eg: T(n) = 3n =>时间复杂度 O(n) T(n)=3n^2 => 时间复杂度 O(n^2)
常见的时间复杂度按照由低到高 O(1)<O(logN)<O(n)<O(nlogN)<O(n^2)

2.2空间复杂度

空间复杂度是对一个算法在运行过程中临时占用的存储空间大小的衡量.
其中递归算法的空间复杂度和递归深度成正比.

三 什么是数据结构

数据结构是数据的组织,管理和存储格式,其使用目的是为了高效的访问和修改数据.
数据结构包含数组,链表这样的线性结构,包含树,图这样的复杂数据结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值