《算法设计基础》PPT课件
合集下载
计算机算法与程序设计PPT课件

Bellman-Ford算法
适用于有负权边的有向图,通过对所有边进行松弛操作,逐步更新 起点到其它顶点的距离。
最小生成树问题求解方法
Prim算法
适用于无向连通图,通过贪心策略每次选择连接已选顶点和未选顶点中权值最小 的边,逐步构建最小生成树。
Kruskal算法
适用于无向连通图,通过并查集数据结构维护图的连通性,每次选择权值最小的 边加入最小生成树,并保证不形成环。
栈
后进先出(LIFO)的数据结构,支 持压栈和弹栈操作
03
02
链表
非连续内存空间,通过指针连接元 素,插入和删除操作较为方便
队列
先进先出(FIFO)的数据结构,支 持入队和出队操作
04
树和图数据结构简介
树
具有层次结构的数据结构,包括二叉树、红黑树等,用于表示具有父子关系的 数据
图
由节点和边组成的数据结构,用于表示复杂的关系网络,如社交网络、交通网 络等
评估算法执行过程中所需额外空间的数量级,也常 用大O表示法。
评估方法
最坏情况分析、平均情况分析、最好情况分 析等。
02
程序设计基础
编程语言选择与特点
1 2
高级语言与低级语言
解释型与编译型语言的区别,如Python、Java 与C、C等。
面向对象与面向过程
如Java、C与C语言的编程范式对比。
3
动态类型与静态类型
计算机算法与程序设 计PPT课件
目录
• 计算机算法概述 • 程序设计基础 • 基本数据结构及其应用 • 排序与查找算法研究 • 图论相关算法探讨 • 动态规划思想在程序设计中的应用 • 计算机算法与程序设计实践案例分析
01
计算机算法概述
适用于有负权边的有向图,通过对所有边进行松弛操作,逐步更新 起点到其它顶点的距离。
最小生成树问题求解方法
Prim算法
适用于无向连通图,通过贪心策略每次选择连接已选顶点和未选顶点中权值最小 的边,逐步构建最小生成树。
Kruskal算法
适用于无向连通图,通过并查集数据结构维护图的连通性,每次选择权值最小的 边加入最小生成树,并保证不形成环。
栈
后进先出(LIFO)的数据结构,支 持压栈和弹栈操作
03
02
链表
非连续内存空间,通过指针连接元 素,插入和删除操作较为方便
队列
先进先出(FIFO)的数据结构,支 持入队和出队操作
04
树和图数据结构简介
树
具有层次结构的数据结构,包括二叉树、红黑树等,用于表示具有父子关系的 数据
图
由节点和边组成的数据结构,用于表示复杂的关系网络,如社交网络、交通网 络等
评估算法执行过程中所需额外空间的数量级,也常 用大O表示法。
评估方法
最坏情况分析、平均情况分析、最好情况分 析等。
02
程序设计基础
编程语言选择与特点
1 2
高级语言与低级语言
解释型与编译型语言的区别,如Python、Java 与C、C等。
面向对象与面向过程
如Java、C与C语言的编程范式对比。
3
动态类型与静态类型
计算机算法与程序设 计PPT课件
目录
• 计算机算法概述 • 程序设计基础 • 基本数据结构及其应用 • 排序与查找算法研究 • 图论相关算法探讨 • 动态规划思想在程序设计中的应用 • 计算机算法与程序设计实践案例分析
01
计算机算法概述
(2024年)并行计算第并行算法的设计ppt课件

基因组学
运用并行计算技术加速基因序列的比对和分析,促进生物医学研究 的发展。
28
工程仿真领域
01
流体动力学仿真
通过并行算法模拟流体的运动状 态,以优化飞行器、汽车等交通 工具的设计。
02
03
结构力学仿真
电磁场仿真
利用并行计算技术对建筑物、桥 梁等结构进行力学分析和优化, 提高工程安全性。
运用并行算法模拟电磁场的分布 和传播,以改进电子设备和通信 系统的性能。
高速互联网络
用于连接处理器和存储器,提供高带宽和低延迟 的数据传输,保证并行计算的效率。
2024/3/26
5
并行计算的软件支持
并行编程模型
包括消息传递模型、数据并行模型和 共享内存模型等,为并行计算提供抽 象的编程接口。
并行编程语言
如MPI、OpenMP、CUDA等,这些 语言提供对并行硬件的直接支持,使 程序员能够方便地编写并行程序。
2024/3/26
并行最长公共子序列算法
通过并行处理多个子序列的比较和合并操作,加速 最长公共子序列的求解过程。
并行最短编辑距离算法
将编辑距离的计算过程拆分成多个步骤,每 个步骤可以在多个处理单元上并行执行,从 而加快计算速度。
18
04
现代并行算法设计
2024/3/26
19
分布式并行算法
2024/3/26
11
并行算法的性能评价
加速比
衡量并行算法相对于串行算法的速度提升程度。
效率
衡量并行算法在给定资源下的性能表现。
2024/3/26
12
并行算法的性能评价
• 可扩展性:衡量并行算法在增加处理单元 数量时的性能提升能力。
运用并行计算技术加速基因序列的比对和分析,促进生物医学研究 的发展。
28
工程仿真领域
01
流体动力学仿真
通过并行算法模拟流体的运动状 态,以优化飞行器、汽车等交通 工具的设计。
02
03
结构力学仿真
电磁场仿真
利用并行计算技术对建筑物、桥 梁等结构进行力学分析和优化, 提高工程安全性。
运用并行算法模拟电磁场的分布 和传播,以改进电子设备和通信 系统的性能。
高速互联网络
用于连接处理器和存储器,提供高带宽和低延迟 的数据传输,保证并行计算的效率。
2024/3/26
5
并行计算的软件支持
并行编程模型
包括消息传递模型、数据并行模型和 共享内存模型等,为并行计算提供抽 象的编程接口。
并行编程语言
如MPI、OpenMP、CUDA等,这些 语言提供对并行硬件的直接支持,使 程序员能够方便地编写并行程序。
2024/3/26
并行最长公共子序列算法
通过并行处理多个子序列的比较和合并操作,加速 最长公共子序列的求解过程。
并行最短编辑距离算法
将编辑距离的计算过程拆分成多个步骤,每 个步骤可以在多个处理单元上并行执行,从 而加快计算速度。
18
04
现代并行算法设计
2024/3/26
19
分布式并行算法
2024/3/26
11
并行算法的性能评价
加速比
衡量并行算法相对于串行算法的速度提升程度。
效率
衡量并行算法在给定资源下的性能表现。
2024/3/26
12
并行算法的性能评价
• 可扩展性:衡量并行算法在增加处理单元 数量时的性能提升能力。
《算法设计与分析》课件

常见的贪心算法包括最小生成树算法 、Prim算法、Dijkstra算法和拓扑排 序等。
贪心算法的时间复杂度和空间复杂度 通常都比较优秀,但在某些情况下可 能需要额外的空间来保存状态。
动态规划
常见的动态规划算法包括斐波那契数列、背包 问题、最长公共子序列和矩阵链乘法等。
动态规划的时间复杂度和空间复杂度通常较高,但通 过优化状态转移方程和状态空间可以显著提高效率。
动态规划算法的时间和空间复杂度分析
动态规划算法的时间复杂度通常为O(n^2),空间复杂度为O(n)。
04 经典问题与算法实现
排序问题
冒泡排序
通过重复地遍历待排序序列,比较相邻元素的大小,交换 位置,使得较大的元素逐渐往后移动,最终达到排序的目 的。
快速排序
采用分治策略,选取一个基准元素,将比基准元素小的元 素移到其左边,比基准元素大的元素移到其右边,然后对 左右两边的子序列递归进行此操作。
动态规划是一种通过将原问题分解为若干个子 问题,并从子问题的最优解推导出原问题的最 优解的算法设计方法。
动态规划的关键在于状态转移方程的建立和状态 空间的优化,以减少不必要的重复计算。
回溯算法
01
回溯算法是一种通过穷举所有可能情况来求解问题的算法设计方法。
02
常见的回溯算法包括排列组合、八皇后问题和图的着色问题等。
空间换时间 分治策略 贪心算法 动态规划
通过增加存储空间来减少计算时间,例如使用哈希表解决查找 问题。
将问题分解为若干个子问题,递归地解决子问题,最终合并子 问题的解以得到原问题的解。
在每一步选择中都采取当前状态下最好或最优(即最有利)的 选择,从而希望导致结果是最好或最优的。
通过将问题分解为相互重叠的子问题,并保存子问题的解,避 免重复计算,提高算法效率。
《算法与程序设计》课件

栈与队列
总结词:空间需求
详细描述:栈空间需求较小,只需存储当前 元素。队列空间需求较大,需存储所有元素
。
二叉树与图论算法
总结词:层级结构
详细描述:二叉树是一种层级结构, 每个节点最多有两个子节点(左子节 点和右子节点)。图论算法涉及图的 结构和性质,节点和边是基本元素。
二叉树与图论算法
总结词:遍历方式
总结词:空间效率
详细描述:数组连续存储,空间利用率较高。链表节点可能存在大量空闲空间,空间利用率较低。
栈与队列
总结词:先进后
总结词:先进后
栈与队列
总结词:应用场景
VS
详细描述:栈常用于实现函数调用、 深度优先搜索等操作。队列常用于实 现任务调度、缓冲区处理等操作。
栈与队列
总结词:性能特点
详细描述:栈操作速度快,时间复杂度为O(1)。队列操作速度慢,因为需要移动 大量元素,时间复杂度为O(n)。
总结词
复杂度分析
详细描述
二叉树和图论算法的时间复杂度和空间复杂度分析取决于具体算法和应用场景。在某些情况下,二叉树和图论 算法的时间复杂度和空间复杂度可能较高。
04
算法设计与优化
分治策略
01
分治策略
将一个复杂的问题分解为两个或更多的相同或相似的子问题,直到最后
子问题可以简单的直接求解,原问题的解即子问题的解的合并。
02
合并排序
采用分治策略的经典算法,将数组分为两半,分别对两半进行排序,最
后合并两个有序的半部分。
03
快速排序
利用分治策略的排序算法,选择一个基准元素,重新排列数组,使得基
准元素左侧都比它小,右侧都比它大,然后递归地对左右两侧进行快速
浙教版五年级上册信息技术第13课算法的设计课件(共18张PPT)

小结 今天你学到了什么?说一说自己的收获。
练习1
针对机器人画正六边形 的问题,设计一个算法。
练习2
练习3
感谢聆听
与此同时,他提出了解决这类问题的 “最优化原理”(Principle of optimality):“一个过程的最优决策具有这 样的性质:即无论其初始状态和初始决策如 何,其今后诸策略对以第一个决策所形成的 状态作为初始状态的过程而言,必须构成最 优策略”。简言之,一个最优策略的子策略, 对于它的初态和终态而言也必是最优的。
最优化原理是动态规 划的基础,任何一个问题, 如果失去了这个最优化原 理的支持,就不可能用动 态规划方法计算。能采用 动态规划求解的问题都需 要满足一定的条件。
满足条件:
(1) 问题中的状态必须 满足最优化原理;
(2) 问题中的状态必须 满足无后效性。所谓的无后 效性是指:“下一时刻的状 态只与当前状态有关,而和 当前状态之前的状态无关, 当前的状态是对以往决策的 总结”。
03
02
(2)确定状态和状态变量: 将问题发展到各个阶段时 所处于的各种客观情况用 不同的状态表示出来。当 然,状态的选择要满足无 后效性。
动态规划的设计都有着一定的模式,一般要经历以下几个步骤。
01
02
(3)确定决策并写出状态转 移方程:因为决策和状态转移 有着天然的联系,状态转移就 是根据上一阶段的状态和决策 来导出本阶段的状态。所以如 果确定了决策,状态转移方程 也就可写出。但事实上常常是 反过来做,根据相邻两段各状 态之间的关系来确定决策。
这个“最优化原理”如果用数学化一点的语言 来描述的话,就是:假设为了解决某一优化问题,需 要依次作出n个决策D1,D2,…,Dn,如若这个决策 序列是最优的,对于任何一个整数k,1 \u003C k \u003C n,不论前面k个决策是怎样的,以后的最优 决策只取决于由前面决策所确定的当前状态,即以后 的决策Dk+1,Dk+2,…,Dn也是最优的。
算法和程序设计60页PPT

举例
解题关键
►没有什么难度,关键是以下两点: ►1、掌握赋值覆盖的特点 ►2、草稿纸上细致的书写赋值经过
►2、PROGRAM EXAM1; ►VAR ► X,Y:BYTE; ►BEGIN ► READLN(X,Y); ► IF X>Y THEN WRITELN(X-Y) ELSE
WRITELN(Y-X); ►END. ►输入:24 36 ►输出:
►1、pascal编程基础 ►2、完善程序 ►3、算法专题
1、PASCAL编程基础知识
► 1、常量、变量 ► 2、数据类型(integer、real、byte、boolean、
char) ► 3、常用系统函数和运算符(trunc,mod,div) ► 4、三种基本程序结构、复合语句 ► For循环、while循环、repeat循环、循环嵌套以及配
总结算法基础上的求解
►1、第一次外循环结束时,i为1,s为1;以 而a[k]是原来1基础上加上k-1所得值,所以程 序实际在累加:
►1+2+3+…+10=55
► 8、program test3; ► const ► n1=4;n2=5; ► var ► max,s,i,j,k,t:integer; ► a:array[1..n1,1..n2] of integer; ► begin ► for i:=1 to n1 do ► begin ► for j:=1 to n2 do read(a[i,j]); ► readln; ► end; ► s:=0; ► for j:=1 to n2 do ► begin ► max:=0; ► for i:=1 to n1 do ► if max<a[i,j] then max:=a[i,j]; ► s:=s+max; ► end; ► writeln(s); ► end.
《C算法设计》PPT课件

一种通常情况下效率非常高,但原理较复杂的排序
39
39 /67
基本算法 – 搜索
搜索(Search)是利用给出的关键值,在一个数据集合或 数据序列中找出与关键值匹配的一个或一组数据的过程。
顺序查找:最简单的查找算法。
从数据序列的第一个数据开始,逐个与关键值比较,直到找到一个 或所有的匹配数据为止(也可能找不到)。顺序查找不要求待查找 的数据序列已经排好序。但当待查找数据序列中数据比较多时,顺 序查找的效率将十分低。
冒泡排序,Bubble sort
数据列表被分为两个子列表:已排序和未排序。 未排序列表中最小(或最大)的元素通过冒泡的 形式(从后往前冒泡)从未排序列表中交换到已 排序列表中。
34
34 /67
4.2 冒泡排序——示例
冒 泡
比较
的
过
比较并交换
程
35
35 /67
4.2 冒泡排序——示例(续)
36
12
12 /67
1 算法的基本概念
算法的基本要求
正确 易维护(可读,易修改) 方便使用 高效
● 速度快 运行时间少,时间复杂度低 ● 占用内存少 空间复杂度低
算法的效率可以测试,用大量输入数据测量运行的时间和 占用的内存,通过比较判别和选择效率高的算法。
更重要的是编程前的分析和估计,即理论的计算,给出事 前的判断。
13
13 /67
1 算法的基本概念
不了解施加于数据上的算法就无法决定如何 构造数据;反之,算法的结构和选择却常常 在很大程度上依赖于作为基础的数据结构。 简而言之,程序的构成(算法)与数据结构 是两个不可67
2 描述算法的三种基本结构
已经证明,只使用如下三种结构,就可以描 述任何算法,且算法结构优良
39
39 /67
基本算法 – 搜索
搜索(Search)是利用给出的关键值,在一个数据集合或 数据序列中找出与关键值匹配的一个或一组数据的过程。
顺序查找:最简单的查找算法。
从数据序列的第一个数据开始,逐个与关键值比较,直到找到一个 或所有的匹配数据为止(也可能找不到)。顺序查找不要求待查找 的数据序列已经排好序。但当待查找数据序列中数据比较多时,顺 序查找的效率将十分低。
冒泡排序,Bubble sort
数据列表被分为两个子列表:已排序和未排序。 未排序列表中最小(或最大)的元素通过冒泡的 形式(从后往前冒泡)从未排序列表中交换到已 排序列表中。
34
34 /67
4.2 冒泡排序——示例
冒 泡
比较
的
过
比较并交换
程
35
35 /67
4.2 冒泡排序——示例(续)
36
12
12 /67
1 算法的基本概念
算法的基本要求
正确 易维护(可读,易修改) 方便使用 高效
● 速度快 运行时间少,时间复杂度低 ● 占用内存少 空间复杂度低
算法的效率可以测试,用大量输入数据测量运行的时间和 占用的内存,通过比较判别和选择效率高的算法。
更重要的是编程前的分析和估计,即理论的计算,给出事 前的判断。
13
13 /67
1 算法的基本概念
不了解施加于数据上的算法就无法决定如何 构造数据;反之,算法的结构和选择却常常 在很大程度上依赖于作为基础的数据结构。 简而言之,程序的构成(算法)与数据结构 是两个不可67
2 描述算法的三种基本结构
已经证明,只使用如下三种结构,就可以描 述任何算法,且算法结构优良
算法的概念课件PPT

动态规划
背包问题
给定一组物品和一个背包容量,如何选择物品放入背包以使得背 包内物品的总价值最大。
最长公共子序列(LCS)
给定两个序列,找出它们的最长公共子序列。
最优二叉搜索树
给定一组按概率排序的键和对应的搜索成本,构建一棵二叉搜索树 使得总的搜索成本最低。
04 算法性能分析
时间复杂度
时间复杂度的定义
空间复杂度
1 2
空间复杂度的定义
描述算法执行所需内存空间与问题规模之间的关 系,也用大O表示法表示。
常见空间复杂度类型
包括常数空间复杂度O(1)、线性空间复杂度O(n) 等。
3
空间复杂度的优化
通过减少不必要的内存占用、使用数据结构等方 式来降低空间复杂度。
稳定性与正确性评估
01
算法稳定性评估
稳定性指算法在输入数据发生微小变化时,输出结果不会发生较大变化
问题分类
根据问题的性质和求解方 法,将问题分为不同类型, 如排序问题、图论问题等。
问题建模方法
运用数学、逻辑等工具, 对问题进行形式化描述, 建立问题的数学模型。
数据结构选择
基本数据结构
掌握数组、链表、栈、队 列等基本数据结构的特点 和使用方法。
高级数据结构
了解并学会使用树、图、 堆等高级数据结构,以便 更有效地解决问题。
算法在各个领域的应用
随着算法技术的不断成熟和普及,其将在各个领域得到更广泛的应用,如医疗、金融、交 通等,为社会发展带来更多的便利和进步。
THANKS FOR WATCHING
感谢您的观看
描述算法执行时间与问题规模之间的关系,通常用大O表 示法表示。
常见时间复杂度类型
包括常数时间复杂度O(1)、线性时间复杂度O(n)、对数时 间复杂度O(logn)、线性对数时间复杂度O(nlogn)、平方 时间复杂度O(n^2)、立方时间复杂度O(n^3)等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第设计基础
什么是算法
目标要求
为解决某一应用问题而采用的解题步骤
讲课提纲 算法的描述方式
用自然语言描述算法 讲课内容 用流程图描述算法
用N-S结构图描述算法
课后作业 例如:输出两个数中的最大数
用自然语言描述算法
第一步:输入x和y的值 目标要求 第二步:比较x和y的值,如果x大于y,
第2章 算法设计基础
结构化程序设计的基本原则:
目标要求 如果一个程序仅包含这三种基本结构(由这些 基本结构顺序组成),则称为结构化程序。
讲课提纲 结构化程序设计的基本原则:
采用自顶向下、逐步细化的方法进行设计
讲课内容
采用模块化原则和方法进行设计
即将大型任务从上向下划分为多个功能模块,每个模块又可 以划分为若干子模块,然后分别进行模块程序的编写。
讲课提纲
2. 设计一算法,求1~1000以内所有
讲课内容
能被3整除的数的和。
课后作业
第2章 算法设计基础
目标要求 讲课提纲
程序的三种基本结构
顺序结构程序:按照书写顺序依次执行语句 选择结构程序:按照条件判断选择执行语句 循环结构程序:通过条件控制循环执行语句
讲课内容 课后作业
三种基本结构的共同点: • 都是只有一个入口和一个出口; • 结构内的每一个框都有机会被执行; • 结构内没有死循环。
课后作业 例: 求以10为半径(r)的圆的面积(s)
第2章 算法设计基础
目标要求
描述已知a、b两数,将其值交换的算法思想
(即有两瓶液体将其互换)
已知a,b,c三个数求最大值
(设变量a、b、c为三个操作数,变量max为最大值)
讲课提纲
讲课内容
课后作业
第2章 算法设计基础
目标要求 1. 编写一个C程序,已知某圆半径为 15,求该圆周长。
流程线
输出z
N z= y
结束 用流程图描述算法
用N-S结构图描述算法
目标要求 讲课提纲
输入x、y的值
x>y
T
F
z=x z=y
输出z的值
讲课内容
用N-S结构图描述的算法
已经证明,任何复杂的问题都可以三种基本算法结构 课后作来业 描述:顺序、选择、循环。因此用计算机语句描述
的程序也包含三种基本结构。
课后作业
每个模块都是用结构化程序实现
即都只能由三种基本结构组成,并通过计算机语言的结构化 语句实现。
第2章 算法设计基础
目标要求 简单程序设计的步骤和一般方法
建模 (找解决问题的数学模型或公式) 讲课提纲 确定算法(解决问题的步骤)
编程(用合适的程序设计语言编程实现) 讲课内容 调试程序(上机运行并寻找解决错误)
则输出x的值,否则输出y的值。
讲课提纲
讲课内容 课后作业
易于理解,但 冗长,不够精 确,难于描述 复杂算法。
例如当描述“输出10个 数中最大数”的算法时, 会冗长、难于理解
用流程图描述算法
起止框 开始
目标要求 讲课提纲 讲课内容 课后作业
输入/输出框 输入x和y
判断框
Y
x >y ?
处理框 z= x
什么是算法
目标要求
为解决某一应用问题而采用的解题步骤
讲课提纲 算法的描述方式
用自然语言描述算法 讲课内容 用流程图描述算法
用N-S结构图描述算法
课后作业 例如:输出两个数中的最大数
用自然语言描述算法
第一步:输入x和y的值 目标要求 第二步:比较x和y的值,如果x大于y,
第2章 算法设计基础
结构化程序设计的基本原则:
目标要求 如果一个程序仅包含这三种基本结构(由这些 基本结构顺序组成),则称为结构化程序。
讲课提纲 结构化程序设计的基本原则:
采用自顶向下、逐步细化的方法进行设计
讲课内容
采用模块化原则和方法进行设计
即将大型任务从上向下划分为多个功能模块,每个模块又可 以划分为若干子模块,然后分别进行模块程序的编写。
讲课提纲
2. 设计一算法,求1~1000以内所有
讲课内容
能被3整除的数的和。
课后作业
第2章 算法设计基础
目标要求 讲课提纲
程序的三种基本结构
顺序结构程序:按照书写顺序依次执行语句 选择结构程序:按照条件判断选择执行语句 循环结构程序:通过条件控制循环执行语句
讲课内容 课后作业
三种基本结构的共同点: • 都是只有一个入口和一个出口; • 结构内的每一个框都有机会被执行; • 结构内没有死循环。
课后作业 例: 求以10为半径(r)的圆的面积(s)
第2章 算法设计基础
目标要求
描述已知a、b两数,将其值交换的算法思想
(即有两瓶液体将其互换)
已知a,b,c三个数求最大值
(设变量a、b、c为三个操作数,变量max为最大值)
讲课提纲
讲课内容
课后作业
第2章 算法设计基础
目标要求 1. 编写一个C程序,已知某圆半径为 15,求该圆周长。
流程线
输出z
N z= y
结束 用流程图描述算法
用N-S结构图描述算法
目标要求 讲课提纲
输入x、y的值
x>y
T
F
z=x z=y
输出z的值
讲课内容
用N-S结构图描述的算法
已经证明,任何复杂的问题都可以三种基本算法结构 课后作来业 描述:顺序、选择、循环。因此用计算机语句描述
的程序也包含三种基本结构。
课后作业
每个模块都是用结构化程序实现
即都只能由三种基本结构组成,并通过计算机语言的结构化 语句实现。
第2章 算法设计基础
目标要求 简单程序设计的步骤和一般方法
建模 (找解决问题的数学模型或公式) 讲课提纲 确定算法(解决问题的步骤)
编程(用合适的程序设计语言编程实现) 讲课内容 调试程序(上机运行并寻找解决错误)
则输出x的值,否则输出y的值。
讲课提纲
讲课内容 课后作业
易于理解,但 冗长,不够精 确,难于描述 复杂算法。
例如当描述“输出10个 数中最大数”的算法时, 会冗长、难于理解
用流程图描述算法
起止框 开始
目标要求 讲课提纲 讲课内容 课后作业
输入/输出框 输入x和y
判断框
Y
x >y ?
处理框 z= x