博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2 、3算法的特性
阅读量:5346 次
发布时间:2019-06-15

本文共 1398 字,大约阅读时间需要 4 分钟。

算法特性:

(1)有穷性。

(2)确定性。

(3)有零个或多个输入。

(4)有一个或多个输出。

(5)有效性。

2、4怎样表示一个算法

算法:可以用不同道方法表示。我们常用的表示方法:自然语言、传统流程图、结构化流程图、伪代码等。

(1)自然语言

 

(2)用流程图表示

 

如算法(上一节)里面例题的流程图:

通过例子可以看出流程图的表示算法,一个流程图包含:

(1)表示相应操作的框。

(2)带箭头的流程线。

(3)框内外必要的文字说明。

 提示流程线不要忘记画箭头,因为它是反映流程的执行先后次序的,如不画出箭头就很难判断各框的执行次序。

用流程图表示算法直观形象,比较轻清楚地显示出各个框之间的逻辑关系。

2、3基本结构和改进的流程图

1、传统流程图的弊端

         传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格的限制。因此,使用者可以毫不受限制地使流程随意地转来转去,使流程图变得毫无规律,让读者花很的大精力去追流程,使人难以理解算法的逻辑。

2、基本结构

        (1)顺序结构。            (2)选择结构。             (3)循环结构            1.当(while)型循环结构            2.直到(until)型循环结构

提示:如果遇到循环问题即可以用当型循环来处理,也可以用直到型循环来处理。

以上三种结构,有以下共同特点:

1.只有一个入口。

2.只有一个出口。

3.结构内的每一部分都有机会被执行到。(也就是说,对每一框来说,都有一条从入口到出口的路径通道。)

4.结构内部不存在"死循环"(无终止的循环)。

2.4用N-S流程图表示算法

            1973年美国学者I.Nassi和B.Shneiderman提出了一直新的流程图形式。这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他的从属与它的框,或者由一些基本的框组成一个大的框。这种流程图又称N-S结构化流程图。

N-S流程图用以下的流程图符号。

1.顺序结构             2.选择结构               3.循环结构             (3.1)直到型循环结构

2.5  用伪代码表示算法

伪代码:是用于介于自然语言和计算机语言之间的文字何和符号的描述算法。

例如上2.2例题,

1.开始         2.置t的初值为1            3.置i的初值为2             4.当i<=5;执行操作        使t=t*i         使i=i+1        (循环体到此结束)         5.输出t的值            6.结束

或1=t              2=i                  while i<=5              (t*i=t         i+1=i)            print  t

2.6     用计算机语言表示算法

算法:1.设计算法       2.实现算法

设计算法的目的是为了实现算法。

2.7 结构化程序设计方法

一个结构化程序就是用高级语言表示的结构化算法。

用2种基本结构化组成的程序必然是结构化程序,这种程序便于编写、便于阅读、便于修改和维护。

结构化程序设计方法的基本思路:把一个复杂的问题是求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和出来的范围内。

采取以下方法来保证得到结构化的程序:

(1)自顶向下              (2)逐步细化               (3)模块化设计                 (4)结构化编码

编码:就是将以设计号短发用计算机语言来表示,即根据已经细化的算法正确地写出计算机程序。

不足或不正确的地方还请指正,谢谢各位的关注。。。。。。

 

 

 

 

转载于:https://www.cnblogs.com/tianya093/archive/2012/12/27/2836196.html

你可能感兴趣的文章
C# Winform dataGridView自动添加行号。简单修饰
查看>>
C# 属性与字段;
查看>>
Web服务之三:httpd属性配置
查看>>
DP题目 sicily 1687 Permutation
查看>>
转载:无线测试
查看>>
Hadoop框架之HDFS的shell操作
查看>>
mybatis 学习四 (上)resutlMap
查看>>
ES6学习之数组的扩展
查看>>
H3C 配置NAT Server
查看>>
Python实例 类和继承
查看>>
java Collections类
查看>>
Linux下的at定时执行任务命令详解
查看>>
消息队列中间件RabbitMQ的三种模式
查看>>
Eclipse Memory Analyzer tool(MAT)
查看>>
iOS 检查更新
查看>>
my.资料__2017暑假
查看>>
hdoj--1045<dfs&二分图最大匹配>(这里是dfs解法)
查看>>
java反射系列四之创建运行时类的对象
查看>>
017.View与窗口:AttachInfo
查看>>
详细整理:UITableView优化技巧
查看>>