第二章
2.1 什么是算法?试从日常生活中找 3 个例子,描述它们的算法。
算法是解决特定问题的一系列指令或操作步骤
1.制作一杯咖啡
算法描述:
准备所需的材料:咖啡粉、热水、咖啡杯、咖啡机等。
将咖啡粉倒入咖啡机滤网中。
将水倒入咖啡机水箱中。
打开咖啡机,开始冲泡咖啡。
咖啡完成后,将咖啡倒入杯中。
算法特点:
顺序执行
确定性
可重复性
2.寻找最短路径
算法描述:
确定起点和目的地。
规划路线:
可以使用地图或导航应用程序来规划路线。
可以考虑交通状况、路况等因素。
沿途指示:
可以使用语音导航或路标指示方向。
可以根据实际情况调整路线。
算法特点:
启发式搜索:根据经验或知识来选择最优路径。
动态规划:根据当前情况调整路线。
3. 交通信号灯
算法描述:
根据交通流量,控制红绿灯的切换。
通常情况下,绿灯时间长于红灯时间,以便保证车辆通行效率。
在特殊情况下,例如交通事故或高峰期,可以调整红绿灯时间,以缓解交通拥堵。
算法特点:
动态规划:根据当前交通流量调整红绿灯时间。
贪心算法:每次选择局部最优解,最终得到全局最优解。
2.2 什么叫结构化的算法?为什么要提倡结构化的算法?
结构化的算法是指由一些基本结构按照顺序组成,流程的转移只存在于一个基本的结构范围之内。
提倡结构化的算法有以下几个优点:
便于编写:结构化算法的流程清晰,易于理解,因此便于编写。
可读性高:结构化算法的结构清晰,层次分明,因此可读性高。
修改和维护简单:结构化算法的结构清晰,易于理解,因此修改和维护起来简单。
可以减少程序出错的机会:结构化算法的流程清晰,易于检查,因此可以减少程序出错的机会。
提高了程序的可靠性:结构化算法的结构清晰,易于理解,因此提高了程序的可靠性。
保证了程序的质量:结构化算法的结构清晰,易于理解,因此保证了程序的质量。
2.3 略
2.4 略
2.5 略
2.6 略
2.7 略
2.8 略