程序算法基础
程序设计基本概念
程序和算法
人们做任何事情都有一定的方法和程序,如:春节联欢晚会的节目单、开会的议程等,都是程序。在程序的指导下,可以有秩序地、有效的完成每一项工作。随着计算机的问世和普及,“程序”逐渐专业化,通常指:为了让计算机完成特定任务而设计的指令序列(如:解决某一问题或控制某一过程)。
从程序设计角度来说,每个问题都涉及两个方面的内容——数据和操作。“数据”泛指计算机要处理的对象,包括数据的类型、数据的组织形式和数据之间的相互关系,又称为数据结构(Date Structure);“操作”是指处理的方法和步骤,称为算法(Algorithm)。编写程序所用的计算机语言称为“程序设计语言”。
一个程序中包括:
对数据的描述,即数据结构。在程序中要指定数据的类型和数据的组织形式。
对数据处理的描述,即算法。算法是为了解决一个问题而采取的方法和步骤。
算法反映了计算机的执行过程,是对解决特定问题的操作步骤的一种描述。数据结构是对参与运算的数据及他们之间关系所进行的描述,算法和数据结构是程序的两个重要方面。
著名计算机科学家沃思(Niklaus Wirth)提出一个经典公式:
算法+数据结构=程序
实际上一个程序除了以上两个要素之外,还应当采用程序设计方法进行程序设计,并且用某一种程序设计语言表示,故上述公式可表示为:
算法+数据结构+程序设计方法+语言工具和环境=程序
数据结构
计算机处理的对象是数据,数据是描述客观事物的数、字符以及计算机能够接收和处理的信息符号的总称。数据结构是指数据的类型和数据的组织形式。数据类型体现了数据的取值范围和合法的运算,数据的组织形式体现了相关数据之间的关系。
数据结构和算法有着密切的关系,只有明确了问题的算法,才能更好的构造数据结构;选好的算法,常常依赖于好的数据结构。程序就是在数据的某些特定的表示方式和结构的基础上对抽象算法的具体描述。编写一个程序的关键是合理地组织数据和设计好的算法。
注:有不当之处,请批评指正!谢谢~