数据结构程序设计方法语言工具算法程序员
算法 程序员 数据结构 语言工具 程序设计方法
算法广义地说,为解决一个问题而采取的方法和步骤,就称为算法"。对同一个问题,可以有不同的解题方法和步骤。为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法
算 法 广义地说,为解决一个问题而 采取的方法和步骤,就称为 “算法”。 对同一个问题,可以有不同的 解题方法和步骤。 为了有效地进行解题,不仅需 要保证算法正确,还要考虑算 法的质量,选择合适的算法
数值运算的目的是求数值解。非数值运算算法由于数值运算往往有现成的模型,可以运用数值分析方计算机在非数值运算方面的应法,因此对数值运算的算法用远超在数值运算方面的应用。算法的研究比较深入,算法比较非数值运算的种类繁多,要求成熟。各异,需要使用者参考已有的数值运算算法类似算法,重新设计解决特定问题的专门算法
非数值运算算法 数值运算算法 算法 数值运算的目的是求数值解。 由于数值运算往往有现成的 模型,可以运用数值分析方 法,因此对数值运算的算法 的研究比较深入,算法比较 成熟。 计算机在非数值运算方面的应 用远超在数值运算方面的应用。 非数值运算的种类繁多,要求 各异,需要使用者参考已有的 类似算法,重新设计解决特定 问题的专门算法
简单的算法举例若题目改为:求1×3×5×7×9×11【例2.1】求1×2×3×4×5算法步骤算法步骤S1:令p=1或写成1=>p(表示将1存放在变量p中)S1:先求1乘以2.得到结果2S2:令i=3或写成3=>i表示将2存放在变量i中)S2:将步骤1得到的乘积2再乘以3,得到结果6S3:使p与i相乘,乘积仍放在变量p中,可表示为:p*=>pS3:将6再乘以4,得24S4:使的值加2即i+2=>iS4:将24再乘以5,得120S5:若i≤11,返回S3;否则,结束否贝或者若i>11,结束;否则,返回S3用这种方法表示的算法具有一般性、通用性和灵活性
简单的算法举例 【例2.1】求1×2×3×4×5 S1: 先求1乘以2,得到结果2 S2: 将步骤1得到的乘积2再乘以3,得到结果6 S3: 将6再乘以4,得24 S4: 将24再乘以5,得120 算法步骤 S1: 令p=1,或写成1=>p(表示将1存放在变量p中) S2: 令i=2,或写成2=>i(表示将2存放在变量i中) S3: 使p与i相乘,乘积仍放在变量p中,可表示为: p*i=>p S4: 使i的值加1,即i+1=>i S5: 如果i不大于5,返回重新执行S3及其后的步骤S4和S5; 否则,算法结束。最后得到p的值就是5!的值。 算法步骤 若题目改为: 求1×3×5×7×9×11 3=>i i+2=>i 若i≤11,返回S3;否则,结束 或者 若i>11,结束;否则,返回S3 i=3 2 用这种方法表示的算法具有一般性、通用性和灵活性
简单的算法举例【例2.2】有50个学生,要求输出成绩在80分以上的学生的学号和成绩算法步骤n:表示学生学号下标i:表示第几个学生S1:1=>int:表示第一个学生的学号S2:如果g≥80,则输出n和gi,否则不输出n:表示第i个学生的学号S3:i+1=>ig:表示学生的成绩S4:如果i≤50,返回到S2.继续执行,否则91:表示第一个学生的成绩算法结束9:表示第i个学生的成绩
简单的算法举例 【例2.2】有50个学生,要求输出成绩在80分以上的学生的学号和成绩 S1: 1=>i S2: 如果gi≥80,则输出ni和gi,否则不输出 S3: i+1=>i S4: 如果i≤50,返回到S2,继续执行,否则, 算法结束 算法步骤 n:表示学生学号 下标i:表示第几个学生 n1:表示第一个学生的学号 ni:表示第i个学生的学号 g:表示学生的成绩 g1:表示第一个学生的成绩 gi:表示第i个学生的成绩