算法是神马(・◇・)?

概念、特征与描述

算法的概念

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

我们常认为,算法是个很高深复杂的词汇。但往往是这种先入为主的感觉让我们对新事物望而却步。看起来复杂,接触后也可以慢慢变得简单。如何把复杂问题简单化,正是算法的核心要义之一。
![image](https://img2024.cnblogs.com/blog/3565361/202412/3565361-20241225143054456-727817842.png =60*60 )

想象一下,算法就像是一个超级详细的食谱,但不是用来做菜的,而是用来解决各种问题的。
在计算机的世界里,算法就像是给电脑的一套秘籍、一本说明书,告诉它如何一步步地完成任务,比如排序数字、搜索信息或者玩游戏。
当我们需要电脑帮我们完成某些任务时,我们就需要撰写一个说明书,告诉电脑怎么完成这件事。

显然,我们在写这本说明书的时候,需要注意确保它满足的一些特征……

1、算法的特征

根据算法的定义,算法有以下几点特征:

特征名称 描述
有穷性 这个说明书的步骤必须是有限的。无论需要执行多少,必须确定数量。
可行性 这个说明书是可以实施的,而不是玄幻无厘头的
确定性 说明书描述的每个步骤都是明确的,不能有模糊指代
0个或多个输入 可以从外部获取数据,也可以提前已知数据,就不用从外界获取了。
1个或多个输出 必须有按照说明执行的结果出现。

2、描述方式

这本说明书的描述方法有很多种,可以用自然语言,可以用流程图,最终都会变成同一种——程序语言。
image

控制结构

1、算法的要素

要明白什么是控制结构,就需要明确算法的几个要素:数据、运算、控制转移。
用计算机解决问题,本质上是以“数据运算”的方式来实现的。
各种“运算”有时需要依次进行,有时需要根据条件选择一部分进行,有时又需要重复执行某些“运算”,这些“运算”顺序的调控就需要借助“控制转移”来实现。
因此,通过算法让计算机解决问题时,数据、运算及控制转移就成为算法的要素。
不同的控制转移,就形成了不同的“控制结构”。

2、三种控制结构

结构名称 流程图 结构描述 类型
顺序结构 image ①每个步骤按照算法中出现的顺序依次执行。
②每个步骤一定会被执行一次,而且只执行一次。
-
分支结构 image ①首先进行条件判断,根据条件满足与否来决定执行哪个分支
②在一个分支结构中,必定有一个分支被执行,其他的分支则被忽略。
单分支、双分支、多分支……
循环结构 image 在条件控制下,重复执行某些操作步骤
(比如重复执行“+1”,就可以形成一个“累加器”)
for循环、while循环、do-while循环……

在算法设计过程中,可以自由选择不同种类的控制结构进行设计。

算法解决问题的过程

1、抽象与建模

1、提炼核心要素,并且加以确定或假设(设变量)
2、用数学符号描述解决问题的计算模型(列公式)

2、设计算法

遵循【算法的特征】,围绕【算法的要素】设计算法。

处理数据一般要经历三个步骤:(把大象装进冰箱一般要经历三个步骤)
1、输入数据(打开冰箱门)
2、处理数据(把大象塞进去)
3、输出结果,结束(关上冰箱门)

3、描述算法

自然语言、流程图,方便改写程序语言

练习

image

posted @ 2024-12-25 14:28  HERSHY2331  阅读(51)  评论(0)    收藏  举报