zoukankan      html  css  js  c++  java
  • 算法描述---伪代码

    算法描述

            算法描述是指对设计出的算法,用一种方式进行详细的描述,以便与人交流。描述可以使用自然语言、伪代码,也可使用程序流程图,但描述的结果必须满足算法的五个特征。

    使用自然语言描述算法显然很有吸引力,但是自然语言固有的不严密性使得要简单清晰的描述算法变得很困难。因此,使用伪代码来描述算法是一个很好的选择。

    算法的特征

    1. 输入:一个算法必须有零个或以上输入量。
    2. 输出:一个算法应有一个或以上输出量,输出量是算法计算的结果。
    3. 明确性:算法的描述必须无歧义,以保证算法的实际执行结果是精确地符合要求或期望,通常要求实际运行结果是确定的。
    4. 有限性:依据图灵的定义,一个算法是能够被任何图灵完备系统模拟的一串运算,而图灵机器只有有限个状态、有限个输入符号和有限个转移函数(指令)。而一些定义更规定算法必须在有限个步骤内完成任务。
    5. 有效性:又称可行性。能够实现,算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

    伪代码

    伪代码是自然语言和类编程语言组成的混合结构。它比自然语言更精确,描述算法很简洁;同时也可以很容易转换成计算机程序。虽然如此,但计算机科学家们从来就没有对伪代码的形式达成共识,不同作者的教材会设计他们自己的“方言”(伪代码)。幸运的是,这些伪代码都十分相似,任何熟悉一门现代变成语言的人都完全能够理解。

    使用伪代码描述算法可以让程序员很容易将算法转换成程序,同时还可以避开不同程序语言的语法差别,如Pascal语言使用“:=”作为赋值,使用“=”作为比较;又如C/C++的赋值使用“=”,而判断相等的比较则是用“==”。

    常用的微带关键词含义如下表所示:

    伪代码含义C/C++语言
    缩进 程序块 {}
    / / 行注释 / /
    赋值 =
    = 比较运算——等于 ==
    比较运算——不等于 !=
    比较运算——小于或等于 < =
    比较运算——大于或等于 >=
    for i←1 to n do For循环 for(i=1;i⇐n;i++){}
    for i←n downto 1 do For循环 for(i=n;i>=1;i–){}
    while i<n do Wihle循环 while(i<n){}
    do while i<n Do-While循环 do {} while(i<n)
    repeat until i<n Repeat循环
    if i<n else If-Else语句 if(i<n){} else {}
    return 函数返回值 return
    A[0..n-1] 数组定义 int A[n-1]
    A[i] 引用数组 A[i]
    SubFun() 函数调用 SubFun()

    流程图

    在计算机应用早期,描述算的主要工具是流程图流程图使用一系列相连的几何图形来描述算法,几何图形内部包含对算法步骤的描述。实践证明,除了一些非常简单的算法外,这种表示方法使用起来非常不方便。

    灯泡不亮时如何操作的简单流程图

  • 相关阅读:
    Android 6.0以上动态获取权限
    大学实验3指导:利用单链表实现A-B
    大学课程实验2指导-二叉树的建立与遍历
    大学实验1 哈夫曼编码
    大学java教案之MySQL安装图解
    DrawableAnimation小练习
    Android学习第7天
    Android学习第6天
    There's no Qt version assigned to this project for platform Win32
    OpenBCI 开发环境配置
  • 原文地址:https://www.cnblogs.com/WayneZeng/p/9290790.html
Copyright © 2011-2022 走看看