【数据结构】绪论部分

今天由我来跟大家讲一下数据结构的绪论部分吧。数据结构整体复习主要靠理解。理解了学习起来其实是很轻松的事情,学进去了你也会发现很好玩。这篇只是个结构概括,理解就行。

1.1 基本概念

   1、数据:即信息。

   2、数据元素:数据的基本单位。如:一个学生记录就是一个数据元素,由学号、姓名等数据项构成(数据项为构成数据元素的不可分割的最小单位)。

   3、数据对象:相同性质的数据元素集合。数据的子集。

   4、数据类型:一个值的集合和在此集合上一组操作的总称。

   5、抽象数据类型:ADT。一个模型和在此模型上的一组操作。

   6、数据结构:三要素:逻辑结构+存储结构+数据运算。

   

   

   数据结构三要素

   1、逻辑结构:数据元素之间的逻辑关系,解决的是两个元素时间是什么关系这个问题。有线性和非线性两大类。

   

   2、存储结构:即物理结构,解决的是物理实现的问题。一般由4类,严蔚敏老师的书里好像只提到了俩。

   

   3、数据运算:包括运算的定义和实现。定义针对逻辑结构,运算针对存储结构。

   

1.2  算法及评价

    1、性质:有穷性、确定性、可行性、输入、输出。

    2、目标:正确性、可读性、健壮性、时空效率。

    

    算法评估

    

    通过时间复杂度O(n)、空间复杂度S(n)体现。这两个通常会和后面各种排序算法比较中用到。

    

    O(n)一般由最深层循环原子操作的次数得出。考点之一。

    两条规则:

                a、加法规则--用于并列

                b、乘法规则--用于嵌套

              

    O(1) < O(log n) < O(nlog n) < O(n2) < O(n3) < O(2^n) < O(n!) < O(n^n)    

    S(n)为所需的辅助额外空间。

    这里注意一个原地工作不是指不需要辅助空间,而是其相对输入和程序本身所占空间来说为常量。

来张大图:

   

   

   

原文地址:https://www.cnblogs.com/robin2ML/p/6863232.html