算法 + 数据结构 = 程序
-
数据结构与算法是程序的灵魂,以问题求解为导向,进行问题抽象、数据抽象、算法抽象,通过有效地组织数据、设计高效的算法、完成高质量的程序,从而解决实际应用的问题。
-
流程:问题 => 数据 => 算法
-
理论(离散数学、概率统计、图论等) => 抽象(问题抽象、数据抽象、算法抽象等面向对象思想) => 设计(实现的某种具体编程语言)
-
逻辑抽象 + 运算抽象 => ADT
-
运算 + 存储 => 算法分析(时间和空间复杂度)
-
问题抽象:分析和抽象任务需求,建立问题模型
-
数据抽象:确定恰当的数据结构表示数学模型
-
算法抽象:在数据模型的基础上设计合适的算法