小白学习记录篇02---算法——程序的灵魂(C语言程序设计第五版总结15-36page)

(1).什么是程序(计算机指令)

一个程序主要包括对数据的描述(数据结构),对操作的描述(算法).

(2)数据结构:在程序中指定要用到的数据,以及这些数据的类型和数据的组织形式。

(3)算法:要求计算机进行操作的步骤

(数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。打个比方,制作菜肴,需要有菜谱,菜谱上有说明:①所用配料②操作步骤,但是每种算法的操作是不同的,就像是做菜有不同风味,所以作为程序设计人员,必须认真考虑和设计数据结构和操作方法。著名的科学家Nikiklaus Wirth提出过一个公式:算法+数据结构=程序)。

1.详细介绍算法:算法不仅是解决计算问题,更是解决一个问题而采取的方法和步骤,例如“太极拳的动作图解就是太极拳的算法,一首歌的乐谱,就是这首乐曲的算法。”

2.计算机的算法分为两大类:数值运算算法和非数值运算算法,数值运算算法的目的就是求数值解,例如求方程的解,求一个函数的定积分等。非数值运算算法则是用于事务管理领域,像是图书检索,人事管理等。目前非数值运算算法较为成熟,有现成的算法可供使用。

 3.算法的特性:①有穷性(一个算法的步骤应该是有限的,如果出现循环的算法,那么超出人们认知长度的,不能看作是有效算法)。

②确定性(算法要准确无误,每个步骤一定要准确不能产生歧义性,就像是唱歌,每一句的歌词一定不能错)。

③有零个或者多个输出(就像是上面的例子,不需要输入也能解决,但有些需要输入数据才能实现,例如比大小)。

④有一个或者多个输出(算法的目的就是为了求解,没有输出的算法是没有意义的)。

⑤有效性(每个步骤都能得到有效的执行和结果)。

4.多种方式表示算法

流程图:可以表示算法(步骤),流程图有三种基本结构:顺序结构,选择结构和循环结构(当型while和直到型until)

N-S流程图表示算法

用伪代码和计算机语言(c,c++,java)表示算法(就像是普通的代码) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值