理解程序的本质:
1.为什么有各种各样的程序?
2.程序的本质是什么?
程序是是为了解决问题而存在的,各种各样的问题产生了各种各样的程序软件。因此,程序的本质就是解决问题的步骤描述。
就比如要解决把大象放进冰箱需要三个步骤,把冰箱门打开、把大象放进去、关上冰箱门。用程序可以分为以下步骤

1. fridge*  e = new fridge();              //定义冰箱这个对象
2. elephant*  h = new elephant();    //定义大象这个对象
3. e->open();                                   //打开冰箱
4. e->put(h);                                    //把大象放进去
5. e->close();                                  //关闭冰箱

上面这个例子充分说明了程序是解决问题的步骤描述。

程序设计最重要的就是理解实际问题
(1)确定问题类型
如:数值计算类、文字处理类、排序类等
(2)确认求解步骤
如:输入数据、统计数据、保存数据
我们如何判断程序设计的好坏
(1)用尽量少的时间解决问题
(2)用尽量少的步骤解决问题
(3)用尽量少的内存解决问题
高质量的代码是一个人水平的体现,优秀的开发者追求高质量的代码

数据结构的起源
“数据结构”作为一门独立的课程在国外是从1968年才开始设立的。 1968年美国唐纳德·克努特(Donald Ervin Knuth)教授开创了数据结构的最初体系,他所著的《计算机程序设计艺术》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课,数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。

作用:
数据是计算机化的信息,它是计算机可以直接处理的最基本和最重要的对象。无论是进行科学计算或数据处理、过程控制以及对文件的存储和检索及数据库技术应用等,都是对数据进行加工处理的过程。因此,要设计出一个结构好效率高的程序,必须研究数据的特性及数据间的相互关系及其对应的存储表示,并利用这些特性和关系设计出相应的算法和程序。

意义:
数据结构是计算机科学与技术专业、计算机信息管理与应用专业,电子商务等专业的基础课,是十分重要的核心课程。所有的计算机系统软件和应用软件都要用到各种类型的数据结构。因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付当前众多复杂的课题。要想有效地使用计算机、充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识。打好“数据结构”这门课程的扎实基础,对于学习计算机专业的其他课程,如操作系统、数据库管理系统、软件工程、编译原理、人工智能、图视学等都是十分有益的。

研究范围:
(1)非数值计算的程序问题
(2)数据间的组织和操作方式
(3)数据的逻辑结构和存储结构

关于程序的经典公式:程序 = 数据结构 + 算法
本公式对于数据结构和面向过程程序设计适用,虽然现在面向对象程序设计占大头。但这个公式仍是一个值得借鉴的经典。
现在有很多人都在说“语言不重要,重要的是思想”,但是细想之下感觉这个不适用,因为如果没有语言基础只有思想的话,何谈把程序写出来,虽然知道怎样来实现但不会语言表达出来也是一个很重要的问题,所以,我觉得语言和思想缺一不可,只会语言是不会写出高质量的文章的,同样的,只有思想而不会语言也不会可能代码也不会出现。语言对于我们开发者来说是一个很重要的基础。