数据结构就是研究数据的逻辑结构和物理结构以及他们之间的相互关系。
- 数据:所有能被输入到计算机中,且能被计算机处理的符号集合,是计算机操作对象的总称。
- 数据元素:数据中的一个“个体”,数据结构中讨论的基本单位。
- 数据项:数据的不可分割的最小单位。一个数据元素有若干个数据项组成。
- 数据类型:在一种程序设计语言中,变量所具有的数据种类,整型、浮点型、字符型等等。
- 逻辑结构:数据之间的相互关系。
- 集合结构:数据元素除了同属于一种类型之外,没有无其他关系。
- 线性结构:数据元素之间是一对一的关系。
- 树形结构:数据元素之间是一对多的关系。
- 图状结构或网状结构:数据元素之间是多对多的关系。
- 物理结构:也称为存储结构,是数据在计算机中的表示,是描述数据在内存中的存储,如顺序结构、链式结构、索引结构、哈希结构等等。
- 在数据结构中,从逻辑上可以分为线性结构和非线性结构。
- 数据结构基本操作的最重要准则是实现应用程序与存储结构的独立。实现应用程序是逻辑结构,存储的是物理结构。逻辑结构是对该结构操作的设定,物理结构是描述数据具体在内存中的存储。
- 顺序存储结构中,线性表的逻辑顺序和物理顺序总是一致的。链式存储结构中,线性表的逻辑顺序和物理顺序一般是不同的。
- 算法的五个特性:有穷性,确定性、可行性、输入、输出。
- 算法的设计要求:正确性、可读性、健壮性、高效率与低存储需求。
- 算法的描述:伪程序、流程图、N-S图等。E-R图是实体联系模型,不是程序的描述方式。
- 设计算法在执行时间时需要考虑:算法选用的规模、问题的规模。
- 时间复杂度:算法的执行时间与原操作执行次数之和成正比。时间复杂度从小到大有:O(1)、O(logn)、O(n)、O(nlogn)、O(n^2^)、O(n^3^),幂次时间复杂度有O(2^n^)、O(n!)、O(n^n^)。
- 空间复杂度:若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的辅助变量所占额外空间。
来源:https://www.cnblogs.com/KX-Lau/p/12381780.html