数据结构与算法学习笔记(第二章)

本文介绍了算法的基本概念、特性以及设计要求,强调了算法效率的重要性。通过分析算法时间复杂度,探讨了如何衡量算法的效率,包括常见的时间复杂度阶别,并指出最坏情况与平均情况的运行时间分析。最后,简述了算法的空间复杂度,为后续深入学习算法奠定了基础。
摘要由CSDN通过智能技术生成

算法

上章学习了数据结构,了解了一些相关概念以及数据结构的定义,我们了解到数据结构通常与算法是分不开的,没有算法的数据结构犹如演双簧少了一个人,失去了他的乐趣,本章开始学习算法。(没错,要有难度了,做好准备!)
首先来看算法的定义:

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

我们为什么学习算法呢?假设我们让计算机计算1+2+3+4+…+99+100的值,大多数人首先想到的程序是用1+2=3,3+3=6,6+4=10…这种方法循环100次,这些循环,看似对于计算机来说微不足道,但如果要加到上亿呢?但应用等差数列的求和算法后,我们却可以更高效率的得出计算结果,就算加到上亿,也不过是瞬间的事,算法可以极大的提升程序运行的效率,更快,更高效的实现我们的目标。计算机是死的,但人是活的,对于给定的问题,我们要灵活选择合适的算法,以更高效的解决问题。
在算法定义中,提到了指令,指令能被人或计算机等计算装置代替,它可以是计算机指令,也可以是我们平时的语言文字。每条指令表示一组操作,每一个操作都完成特定的功能,这就是算法。

算法的特性

算法具有五个基本特性:输入、输出、有穷性、确定性和可行性。
输入输出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值