一、什么是程序
程序=数据结构+算法
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
打个比方,如果我们要做一盘番茄炒蛋(程序),就需要番茄、鸡蛋、小葱等食材(数据结构),还需要做菜的方法即菜谱(算法),按照菜谱的步骤来处理食材(运行程序),最终得到一盘番茄炒蛋。
二、计算机的基本组成
计算机的五大部件
(图片来源于网络)
简单来说,计算机将需要处理的数据保存在存储器(内存)中,然后通过CPU来不断对内存中的数据进行取出、计算、存入。
打个比方,CPU就相当于做菜的大厨,他负责对食材(数据)的处理。但是程序毕竟不是做菜,在实际过程中会复杂得多。
三、编程语言的发展历程
第一代:机器语言