论题1-4: 算法的基本结构 陶先平马骏 南京大学
论题1-4: 算法的基本结构 陶先平 马骏 南京大学
问题1: 你会吃蟹黄汤包吗? 轻轻提,慢慢移,先开窗,再喝汤
轻轻提,慢慢移,先开窗,再喝汤
吃一只汤包的“算法” 顺序很重要: ·将包子从蒸笼中轻轻提起,and then ·将包子慢慢移动到面前的碟子中,and then ·在包子的上方咬开一个小口,and then ·通过小口吸食包子里的汤,and then ·将包子送入口中 完成!
吃一只汤包的“算法” •顺序很重要: •将包子从蒸笼中轻轻提起,and then •将包子慢慢移动到面前的碟子中,and then •在包子的上方咬开一个小口,and then •通过小口吸食包子里的汤,and then •将包子送入口中 完成!
顺序,是组织算法的最基本的方法 按照算法步骤,顺序书写指令
顺序,是组织算法的最基本的方法 按照算法步骤,顺序书写指令
如何理解下面这句话? My second remark is that our intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed.For that reason we should do our utmost to shorten the conceptual gap between the static program_and the dynamic process,to make the correspondence between the program (spread out in text space)and the process (spread out in time)as trivial as possible. https://enwikipedia.org/wiki/Edsger_WDijkstra ----E.W.Dijkstra
如何理解下面这句话? • My second remark is that our intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed. For that reason we should do our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible. ----E.W.Dijkstra https://en.wikipedia.org/wiki/Edsger_W._Dijkstra
问题2: 但是我们并不只吃一只, 怎么办?
问题2: 但是我们并不只吃一只, 怎么办?
策略一:控制数量 注意: 这个过程的“结构”与计 假如规定吃X只 开始 数器的初始值没有关系」 Bound iteration 设一个计数器,并 将其值设定为0。 吃一只汤包 计数器值加1,并 否 判断其是否为X 是 结束
Bound iteration 假如规定吃X只 X
策略二:吃饱为止 开始 Unbound iteration 是 是否已饱? 结束 吃一只汤包 如果即使饱了,也希望再品尝一个,该怎么办? 问题:你能正确选择采用何种策略设计循环吗?
如果即使饱了,也希望再品尝一个,该怎么办? Unbound iteration 问题:你能正确选择采用何种策略设计循环吗?
有人知道饱不饱,但有人不知道 开始 问题: 如果要判断的情况 否 要吃汤包的 是 不只有两种,该怎 人不到5岁吗? 么办? switch(X){ 选用策略2 选用策略1 if(c1) case 1:...break; }else if(c2){ case 2:...break; default:... 结束 elsef
有人知道饱不饱,但有人不知道 if(c1){ … }else if(c2){ … } … else{ … } switch( X){ case 1:…break; case 2:…break; default:… } 问题: 如果要判断的情况 不只有两种,该怎 么办?
问题: 如果说顺序、分支和循环构成了算法 组织的三个基本结构,那么顺序结构是算 法组织的基本中的基本。为什么?
问题: 如果说顺序、分支和循环构成了算法 组织的三个基本结构,那么顺序结构是算 法组织的基本中的基本。为什么?