算法设计与分析的基础知识(1)

本文介绍了算法的基本概念,包括输入、输出、确定性和有限性,并强调了算法与程序的区别。讨论了算法的清晰性、值域定义、不同表示形式和效率差异。重点讲解了算法复杂度分析,包括时间复杂度和空间复杂度,并以插入排序为例展示了如何分析最好情况下的时间复杂度。这是算法学习的第一篇,为后续深入研究打下基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

距离算法考试还有两周的时间,准备从现在开始用笔记的形式记录自己学习或复习算法课程的成果。不是有那么一句名言嘛:好记性不如烂笔头。Learn From Now!

算法是一系列解决问题的清晰指令,即对符合一定规范的输入,在有限时间内获得所要求的输出。


算法需要满足以下四大性质

1、输入:有零个或多个外部量作为算法的输入(意思是可以没有输入)

2:输出:有一个或多个量作为输出(意思是必须有输出)

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

4、有限性:算法中每条指令的执行次数或执行时间在有限的范围内。

在这里特别强调与程序的区别:

程序是算法用某种程序设计语言的具体实现。(可不满足以上四大性质)

以下是算法的几个要点:

1、算法的每个步棸都必须清晰,明确,不得有半点模糊。

2、算法所处理的值域必须仔细定义。

3、同样一种算法可以用不同的形式描述

4、同一个问题可能存在不同的解决算法

5、针对同一个问题不仅可能解决算法的思路差别很大,而且解题速度可能也会相差很大。

算法概念的再理解:

算法是问题的程序化解决方案,这些解决方案本身并不是答案,而是能够得到答案的精准指令。

名言:人们常说,一个人只有把知识教给别人,才能真正掌握它。实际上,一个人只有把知识教给“计算机”,才能真正掌握它。

算法中的所有理解性的概念中最难的当数复杂度分析了:时间复杂度、空间复杂度

算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值