为了加深自己对数据结构的理解:所以这个专题下会记录我的学习的笔记。


 程序设计的实质:对确定的问题选择一种好的结构,加上设计一个好的算法!


计算机解决一个具体的问题,需要经过下列几个步骤:

一、从具体问题抽象出一个适当的数学模型。

二、设计一个解这个数学模型的算法。

三、编写程序进行测试、调整直至得到最终解答。


数据结构:相互之间存在一种或多种特定关系的数据元素的集合。


根据数据元素之间关系的不同特性,通常有下列4类基本结构:

一、集合:结构中的数据元素处理“同属于一个集合”的关系外,别无其它关系。

二、线性结构:结构中的元素存在一对一的关系

三、树形结构:结构中的数据元素之间存在一对多的关系

四、图状或者网状结构:结构中的数据存在多对多的关系


算法的五个重要特性:

一、有穷性

二、确定性

三、可行性

四、输入

五、输出


设计一个“好”的算法应考虑到以下目标:

一、正确性

二、可读性

三、健壮性

四、效率与低存储量要求



算法效率的度量:时间复杂度

算法存储空间需求:空间复杂度