高二信息技术:算法设计与优化微课课件_第1页
高二信息技术:算法设计与优化微课课件_第2页
高二信息技术:算法设计与优化微课课件_第3页
高二信息技术:算法设计与优化微课课件_第4页
高二信息技术:算法设计与优化微课课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高二信息技术:算法设计与优化设计·实现·优化·思维授课时间:2026年课程导览01走进算法世界概念界定与描述方法02算法设计基础控制结构与设计流程03经典算法案例排序查找思想解析04算法优化进阶效率视角与优化策略05综合应用与拓展真实问题迁移解决走进算法世界算法是解决问题的清晰步骤从生活问题出发,认识算法的本质01生活中的算法现象算法不是程序员的专利,而是每个人解决问题的通用思路这些日常行为都包含

明确的目标

可执行的步骤,当步骤被清晰表达出来时,它就变成了算法。上学路线生活场景比较距离与拥堵,挑选最省时的走法食堂打饭生活场景观察各窗口排队长度,选择等待时间最短的一队考试作答生活场景按先易后难的顺序,把有限时间用在得分效率高的题目上算法的定义与基本特征算法是在有限步骤内解决问题的清晰指令序列有穷性算法必须在执行有限步骤后结束,不能无限循环下去。确定性每一步的含义必须唯一,不能产生歧义。可行性每一步都能通过基本操作实际完成。输入算法可以有零个或多个输入数据。输出算法必须产生至少一个结果。合格算法判定判断一段过程是否为合格算法,可对照上述特征逐条检验。反例警示:"一直往前走直到累倒"缺乏有穷性,不算算法。算法的描述方法同一个算法可以用不同方式表达,选择取决于读者和场景描述方法主要特点适用场景自然语言通俗易懂,贴近日常表达初步构思流程图图形符号直观,结构一目了然课堂教学伪代码接近程序语言,逻辑严谨算法设计“三种方法可相互转换。”初学建议自然语言理清思路流程图梳理结构伪代码落实细节核心判断:不同表达方式各有优势,需根据沟通对象选择算法与程序的联系与区别算法是解决问题的思路,程序是这种思路在计算机上的落地理解这一关系,才能在设计程序时把精力放在

思路的优化

上。相互联系程序是算法用某种程序设计语言的具体实现同一个算法可以用不同语言编写成不同程序算法的质量直接决定程序的运行效率主要区别算法侧重逻辑步骤,程序还要考虑语法、数据类型等细节算法可以有多种描述方式,程序必须在特定环境中运行算法追求正确与高效,程序还需关注可读性与可维护性算法设计基础结构清晰,程序才可靠顺序、选择、循环三大结构02顺序结构:一步接一步顺序结构按书写顺序依次执行,是最简单的程序骨架顺序结构按书写顺序依次执行,一步接一步,是最简单的程序骨架。基本特点语句自上而下逐条执行,每条语句只执行一次没有判断与跳转,执行路径唯一是构成选择结构和循环结构的基础生活示例冲泡一杯速溶咖啡:取杯、放咖啡粉、注入开水、搅拌、饮用,这五个动作按顺序完成即可,颠倒顺序会影响结果。求长方形面积:先输入长和宽,再相乘,最后输出结果,三步依次进行。选择结构:判断与分支当情况不同时,算法需要根据条件走不同的路选择结构让算法具备应变能力单分支选择if满足条件时执行某段操作,否则跳过。例如成绩及格就输出"通过"。双分支选择if/else条件成立走一条路径,不成立走另一条。例如判断成绩是否达到60分,分别输出"及格"与"不及格"。多分支选择switch当判断条件多于两个时,可层层嵌套或使用多分支结构。优秀良好合格待提升·按分数段划分循环结构:重复的力量让计算机反复做同一件事,是人机分工的重要体现循环是提升效率、避免重复书写的关键当型循环先判断条件是否成立,成立才执行循环体合适合循环次数不确定但知道终止条件的场景直到型循环先先执行一次循环体,再判断是否继续至至少执行一次,适合"先做再检查"的场景三种结构的综合运用再复杂的算法,拆开看都是三种基本结构的组合掌握三种基本结构的组合方式,复杂算法也能拆解清晰嵌套形式循环体中包含选择结构,实现按条件处理每一批数据选择结构中包含循环结构,针对某类情况做批量操作循环体中再嵌套循环,处理二维表格或多重枚举问题综合实例:统计及格人数依次读取每个学生的成绩循环内部判断分数是否达到及格线,达到则计数量加一循环结束后输出总数循环与选择相互配合,逻辑清晰算法设计的一般流程好的算法不是一次写成的,而是按步骤反复打磨出来的1步骤01分析问题明确已知条件与输入数据明确期望输出,弄清要解决什么2步骤02建立模型把实际问题抽象成数学关系或数据结构3步骤03设计步骤选择合适的控制结构用流程图或伪代码描述4步骤04验证正确性用典型数据手工推演检查边界情况5步骤05评估效率判断步骤数量是否合理判断资源占用是否合理6步骤06优化改进发现更好的思路时及时调整方案经典算法案例经典案例是最好的老师排序与查找中的设计智慧03从排序问题说起把杂乱的数据按某种规则排列好,是许多后续操作的前提初学者经典方法冒泡排序·选择排序·插入排序排序,是让杂乱数据重归有序的起点①什么是排序定义按关键字大小关系重新排列关键字成绩、身高、日期②为什么需要排序查找便于快速查找和统计场景排名、成绩分析等直接依赖排序结果基础许多高效算法建立在有序数据之上冒泡排序:相邻比较交换每一轮把当前最大的数像气泡一样送到序列末尾相邻比较交换,逐步将最大值冒泡到末尾基本思路从序列开头依次比较相邻两数前一个比后一个大则交换一轮走完最大值到达末尾相邻比较交换位置示例推演原始数据:5、3、8、1第一轮3、5、1、8→最大值8

到位第二轮3、1、5、8→次大值5

到位第三轮1、3、5、8→排序完成选择排序与插入排序同样的排序目标,可以有完全不同的实现思路对比项选择排序插入排序基本思路每轮选出最小值放到前面逐个把数据插入已有序部分操作重点先找最小再交换边比较边挪动位置适用场景数据量较小的场合数据接近有序的场合共同点都属于简单直观的排序方法同样适合初学者理解理解要点选择排序每轮只做一次交换,交换次数比冒泡排序少插入排序面对已基本有序的数据时,效率明显提升三种方法都包含双重循环,外层控制轮次,内层完成比较顺序查找从头到尾逐个比对,直到找到目标或确认不存在适用场景:数据量较小,或数据本身处于无序状态时,顺序查找是简单可行的选择。从第一个元素开始依次比较,直到找到目标或确认不存在基本思路从序列的第一个元素开始,依次与目标值比较若相等则查找成功查完所有元素仍未匹配,说明目标不存在主要特点对有序无序无要求,适用范围广实现简单,逻辑直观平均比较约一半数据,数据越多耗时越长二分查找:折半缩小范围每次排除一半数据,查找范围迅速缩小核心思路:利用有序序列,每次与中间元素比较,将查找范围折半推进。查找步骤5步01取序列中间位置元素,与目标值比较02若相等,查找成功,结束03若目标值更大,在右半部分继续查找04若目标值更小,在左半部分继续查找05重复上述过程,直到找到目标或范围为空每比较一次,待查数据就减少一半,比较次数远少于顺序查找前提条件1项数据必须按关键字有序排列这是二分查找能够使用的基础查找算法效率对比数据越多,折半查找的优势越明显最多比较次数对比各规模下比较次数100规模顺序查找最多

100

次,二分查找仅

7

次1000顺序

1000

次,二分

10

次10000顺序

10000

次,二分

14

次顺序查找比较次数线性增长,二分查找增长极为缓慢;先排序再查找整体收益更大算法优化进阶同样的结果,更快的路径从时间复杂度看优化空间04为什么需要优化算法能算出结果的算法不一定够好,还要看它算得快不快仅能算出结果还不够,运行快慢、资源占用同样是评价算法的关键维度从正确到高效初学只关注正确性,能得出答案即可数据规模增大后,时间差可达成千上万倍优化意义与衡量视角减少运行时间,让程序更快响应降低资源占用,节省存储空间提升可扩展性,适应更大的数据规模消耗时间与空间两类资源,优化的本质是在两者间寻找更合理的方案时间空间VS时间复杂度初识我们关心的不是跑了几秒,而是运算量随数据规模如何增长用增长趋势衡量算法效率,而非具体秒数为什么不用具体时间2项运算次数与数据规模的关系用运算次数刻画效率更公平,这是时间复杂度的核心秒数不可比同一算法在不同计算机上表现不同,用秒数衡量不公平常见量级4项常数级运算次数与数据规模无关,效率最高对数级增长缓慢,如二分查找线性级运算次数与规模成正比,如顺序查找平方级与规模平方成正比,如冒泡排序常见复杂度增长对比数据规模每翻一倍,平方级算法的负担就翻四倍三种复杂度的运算次数对比随数据规模增长增长趋势解读数据规模从10增加到50,对数级运算次数仅从

3

增加到

6平方级运算次数从

100

猛增到

2500,增长失控降低复杂度量级,比单纯优化代码细节更能带来本质提升优化策略:减少重复计算优化的第一步,是先找出那些白做的事情减少重复计算把多次使用的中间结果保存下来,避免重复运算。例如求累加和时,不必每次都从头重新相加。提前结束循环当已经确定结果时立即跳出循环。例如在顺序查找中一旦找到目标就停止比较,无需检查剩余数据。缩小取值范围利用数据的有序性二分查找是典型例子,减少需要检查的元素个数。简化判断条件把最常出现的情况放在分支判断前面,减少无效判断次数。空间换时间的取舍用更多的存储换取更快的速度,是常见的优化思路时间与空间的权衡策略做法收益用空间换时间额外保存中间结果,后续直接取用减少重复计算用时间换空间不保存过多数据,需要时重新计算节省存储资源典型场景数据需被反复查询时,先整理成便于快速访问的形式,虽多占空间,但每次查询更快。选择依据数据规模大而存储有限→优先节省空间响应速度要求高→优先节省时间两者需兼顾→寻找折中方案优化的目标不是追求某一指标极致,而是让整体表现满足实际需求综合应用与拓展让算法思维走出课堂用算法解决真实世界的问题05算法在生活中的应用算法不只在课本里,它每天都在我们身边工作出行导航地图软件比较多条路线,结合实时路况选出耗时最短方案,背后是路径优化算法。信息检索搜索引擎在海量网页中快速定位相关内容,依靠高效的索引结构与查找算法。推荐系统短视频与购物平台根据用户行为匹配内容,本质是大量数据比较与排序的结果。资源配置快递配送、课程安排等场景在众多方案中寻找较优解,正是算法擅长解决的问题。综合案例:成绩统计分析一个真实的数据处理任务,通常需要多种算法协同完成综合案例:某班考试后需完成三项子任务——找最高分、成绩排名、查询某生分数,分别采用最适算法。先分析需求再选算法数据组织影响查找策略合理组合算法高效完成任务描述求最高分一次遍历比较即可,无需完整排序成绩排名使用排序算法对分数重新排列查询分数按学号顺序查找,或按分数有序时二分查找算法思维与问题分解学算法,学的其实是拆解问题和条理化思考的方式分解思维把复杂问题拆成若干可单独解决的小问题,逐个攻克。抽象思维忽略无关细节,抓住关键特征,建立简洁模型。有序思维按确定步骤推进,每一步有依据,避免随意跳跃。优化思维先得可行方案,再思考更好做法,持续改进。验证思维对结果保持审慎,用典型数据和边界情况检验方案。从算法到人工智能再智能的系统,底层依然是一步一步的算法在运转内在联系人工智能系统能够识别图像、理解语言,靠的是大量数据与高效算法的配合;搜索、排序、优化这些基础算法,是构建复杂系统的地基。典型方向数据挖掘从海量数据中发现规律机器学习让程序从数据中自动改进策略智能优化在复杂约束下寻找更优方案学习建议牢固掌握基础算法的原理与复杂度分析,才能理解新技术的内在逻辑算法能力是通往更广阔技术领域的通行证学习建议与拓展方向看懂算法和写对算法之间,隔着

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论