数据结构——算法篇

本文介绍了算法的基本概念,包括解决问题的步骤、输入输出、有穷性、确定性和可行性等特性。同时详细解释了时间复杂度和空间复杂度的概念,以及如何通过大O符号表示。鼓励读者克服学习难点,坚持学习算法将会有所收获。
摘要由CSDN通过智能技术生成

击破算法

1.什么是算法

算法,乍一听好像是很高深莫测的东西。是计算的方法?是比数学题还难的计算?其实并不是大家想象的那样神秘。接下来大家听我一说马上就明白了

算法:解决问题的步骤。(这些步骤告诉计算机应该按照什么顺序执行一些任务,以达到特定的目标)

2.算法的特性

  1. 输入输出:有零个或多个输入,但至少有一个或多个输出。想象一项任务我们可以偷偷白                        嫖,但我们不能没有成果吧,这谁受得了。我们可以不努力,但不能没果!!!
  2. 有穷性:在执行完一定步骤后自动结束,不能陷入无限循环。你都不想天天上学,怎么能让                计算机无限工作呢。体贴体贴我们的脆脆鲨计算机吧!
  3. 确定性:不会出现二义性。咱说话要目的明确,不要让别人困惑。当然写程序也不能把计算                 机搞懵了,不然他会崩溃的!(计算机:我要发声)
  4. 可行性:能够在合理的时间和资源范围内解决特定问题。

3.时间复杂度&空间复杂度

1.什么是时间复杂度

时间复杂度:时间复杂度并不直接表示具体的运行时间,而是表示随着输入规模的增加,算法运行时间的增长趋势。比如用一个函数模型来描述

2.表示方法——大O (O_O)!

推导步骤:

  1. 用1表示常数
  2. 只保留最高阶
  3. 最高阶系数改为1

懂了没?O?  没懂就看下面例子吧

懂了就张大嘴吧跟着我读:O_O ~ O_O哦哦哦哦哦哦哦~

3.常见时间复杂度推导

  1. 常数阶

  1. 线性阶

在了解了for循环的执行顺序后我才明白为什么for循环会执行n+1次。如果你也有同样疑问,不妨跳转我另一篇文章了解一下。

  1. 对数阶

  1. 平方阶

常见的时间复杂度:(从上到下左到右时间耗费增加)

4.空间复杂度

空间复杂度:用来衡量一个算法在运行过程中所需的内存空间大小的概念。与时间复杂度类似,空间复杂度也关注随着输入规模的增加,算法所使用的内存空间的增长趋势。

请允许我唠叨几句

学起来可能很痛苦。但是学都学了,就认真学学呗。万一真学会了岂不是赚到了。

坚持下去,会有收获的,不能够每次都想零输入,有一个或多个输出吧。(临时抽问,以上标黄的是算法的什么特性,嘿嘿,写篇文章见哦)

不见不散~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值