zoukankan      html  css  js  c++  java
  • chapter2 算法——程序的灵魂

    数据结构:对数据的描述。算法:对操作的描述。

    算法+数据结构=程序

    2.1 什么是算法

    算法:广义上,为解决一个问题而采取的方法和步骤。

    计算机算法分为两类,非数值算法和数值算法。

    2.2 简单的算法举例

    例2.1 1*2*3*…*100

    从这个例子里面,给出了新的思路,也就是循环的概念。通过循环能解决这类问题。

    例2.2 有50个学生,要求输出成绩在80分以上的学生的学号和成绩

    在这个例子里面,出现了判断加循环的思路。而且也把数组最基本的概念穿插在其中。并且这是一个将具体问题抽象化的典型。

    例2.3 判断闰年

    在这个例子里面,主要把握的是运用判断语句的时候,要掌握好有些问题的逻辑判断的先后顺序。

    例2.4 1-1/2+1/3-1/4…-1/100

    在这个例子里面,首先要确定的是寻找规律。分子全是1,分母是递增,符号的差异。然后就是从例2.1中运用的算法就行运算。

    例2.5 判断素数

    由前面4个例子,再来判断这个的时候,发现现在解决的数学问题中,数学的步骤就是算法。

    2.3 算法的特性

    1)有穷性

    2)确定性

    3)有零个或多个输入

    4)有1个或多个输出

    5)有效性

    2.4 怎样表示一个算法

    表示一个算法,比较常用的就是传统流程图、结构化流程图和伪代码。

    我觉得,如果是写程序的话,用结构化流程图写算法比较好。但是如果是给客户讲内容的话,或者写一些其他思路,前期还是用流程图比较好。虽然流程图表示会显复杂。

    通过这样几个算法的表示方法,来理解程序化结构化语言,顺序结构,选择结构,循环结构

    2.5 结构化程序设计算法

    一般来说,结构化设计的程序:

    1)自顶而下

    2)逐步细化

    3)模块化设计

    4)结构化编码

    学习语言的最终目的不是学习语言,最终还在于使工作更加便捷。所以掌握好算法很关键,有了好的算法,然后再好的语言,这才是在做对的事情。而不是为了学语言而学语言。

  • 相关阅读:
    关于分布式系统中雷同集群技术及原理,你知道多少?
    如何在PHP中进行会话处理?
    PHP的isset()、is_null、empty()使用总结
    Mycatweb的介绍与搭建
    企业如何部署开源邮箱系统?
    企业如何选择合适的邮箱系统?
    Ansible原理与安装部署
    gRPC的简介与实例详解
    高效的性能测试工具-wrk
    轻松玩转windows之wamp开发环境部署
  • 原文地址:https://www.cnblogs.com/zhurun/p/4590572.html
Copyright © 2011-2022 走看看