数据结构(Data Struct)并非是单单的链表、栈、图、树,这些是数据结构的某种具体表现,但是他不等价与所谓的数据结构。
我个人认为数据结构所研究的是数据之间的组织架构、结构。
完全相当的数据,不同的组织结构产生的效果是不一样的。我们如何去组织、或者如何去架构,数据的内容都是不变的,但是所产生的效果是不一样的。现实生活中的碳和金刚石,两者都是碳,但是表现和属性的区别大家一眼可见。
数据结构的划分:
1、线性结构:SeqList,List, Stack,Queue, String, Array
2、非线性结构:Tree, Graph
3、概念: 排序、搜索
4、算法
数据:数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。它是计算机加工的原料。
数据元素:数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象:数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构:数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。
抽象数据类型:是指一个数学模型以及定义在该模型上的一组操作。
ADT 抽象数据模型
算法的五个特性:有穷性,确定性,可行性,输入,输出
算法的要求:正确性,可读性,健壮性,效率与低存储量需求
算法的好坏用效率来评估。