数据结构算法概念介绍

算法的定义:

  • 算法是由一组指令序列构成
  • 有输入和输出
  • 确定性,对结果无歧义
  • 有限性,应该在有限的时间内计算完成

算法设计的过程:

  1. 理解问题,找出我们要解决的问题
  2. 数据结构设计,设计出符合我们问题的数据结构
  3. 算法设计,设计算法解决问题
  4. 算法优化,优化我们的算法,使问题更加高效的完成
  5. 程序实现,根据优化好的算法变写我们的程序
  6. 重复上面的3.4.5步

算法要满足,正确性,可读性,健壮性,高效性

算法的复杂度分析:

  • 定量分析:属于实证主义和后实证主义 简单的说就是看执行结果分析好坏
  • 定性分析:从属于建构主义/阐释主义 在执行之前设计的时候就分析出好坏

分析的方向主要分为:

  • 时间复杂度
  • 空间复杂度

复杂度函数:

C=F(N,I,A)

N表示数据规模,I表示输入 A表示函数 算法重点就是研究函数对复杂度的影响

我们知道算法的执行时间T与和算法的执行步数正相关

算法的执行步数我们用计算步表示,算法需要执行的步数,和数据的规模和输入顺序有关

所以说关于时间复杂度T=(N,I)

T(n)=O(f(n))

O(F(n))=执行语句的次数的总和

所以说优秀的算法因该是解决问题的同时,执行的语句尽量少

我们下面所讲的所有算法都是基于这两个目的的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值