就像生物学,把自然界中的所有生物作为自己的研究对象,而计算机科学把问题作为自己的研究对象,研究如何用计算机来解决人类所面临的各种问题。
所以整个用计算机来求解问题的一般过程就是通过具体的问题,然后抽象的模型进行求解模型,然后分析反推回,得到原问题的解决方案。
就比如说形象的例子是开车时你并不需要知道发动机的工作原理,你只需要会开车的基本操作技能就OK了。当然在用高级语言编写程序的时候,你可以不用关心硬件是如何执行指令的,只要在运行程序的时候编译运行不报错就行。
当然对于模型就是为了更好的理解时候进行的一种抽象,由一系列的图形符号或者是组织的规则来进行组成,它是对一种想法或者问题的转化形式以及特征可视化的一种思维方法,方便于更好的理解问题和更深入的探究。
总体来讲可以将问题分为数值类问题和非数值类的问题。
首先对于数值类型的问题出现出来的模型就是数学方程问题的核心就是关于数值方面的计算和分析。
而对于另一类的非数值问题,重点就是通过抽象出来的模型进行数据处理,而不是看似简单的数值计算。
而这里的模型诸如表、树、图之类的数据结构等等。
一般来讲的话,数据结构从逻辑上可以分为四大类:
第一是集合,第二是线性结构,第三是树结构,第四是图结构。
第一类集合元素其中的数据元素之间没有任何的关系,第二类线性结构数据元素之间存在的一对一的线性关系。而对于树结构来讲,数据元素之间存在着一对多的层次关系,而对于图结构,数据元素之间存在着多对多的任意关系。所以其根据对应的不同类型而言,要进行对应针对性的分析。